home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Network CD 2
/
Network CD - Volume 2.iso
/
term
/
terminus.doc
< prev
next >
Wrap
Text File
|
1993-07-04
|
461KB
|
13,705 lines
******* *
*
* **** * *** **** *** * **** * * ****
* * * ** * * * * * * * * * *
* ****** * * * * * * * * * ****
* * * * * * * * * * * *
* **** * * * * * * * **** ****
Version 2.0
Copyright (C) 1992-93 by John P. Radigan
A Shareware telecommunications tool for the Amiga computer.
DEDICATION
----------------------
In memory of James E. Spessard
COPYRIGHT
-------------------
All versions of the Terminus telecommunications package, executable,
documentation and support files are protected by United States Copyright
Law and related international treaty provisions. All Rights Reserved,
Worldwide. You are entitled to use the program and related files in
original form only. You may not reverse engineer, decompile, disassemble
or derive a work based on this work in whole or in part.
SHAREWARE
-------------
This program is made available through the concept of "Shareware" which is
a form of distribution that gives you the opportunity to try a piece of
software before you buy it. It is not now, nor will it ever be regarded as
Public Domain or otherwise "free" software.
LICENSE
-------------------
You are granted a limited license to evaluate this software for a 30 day
period on a private, non-commercial basis only. You must decide at the
termination of this evaluation period to register this product if you plan
to continue using it or to cease all use otherwise.
Registration is not only required for your continued use, it is needed to
keep the development of future enhancements to Terminus active. Without
your support the product cannot continue to evolve.
i
DISCLAIMER
----------------------
No warranties are implied or expressed with regard to the fitness or
merchantability of Terminus for any particular purpose. All risks and
damages, incidental or otherwise, arising through the use or misuse of
Terminus are entirely at the responsibility of the user.
While considerable effort has been made to provide you with a reliable
product, there is no guarantee that this program is 100% "bug-free".
Additionally, this disclaimer does not guarantee future versions of this
product, but maintenance releases may be made available if and when
feasible.
DISTRIBUTION
------------------------
Distribution is limited to the original shareware distribution archive file
only. None of the member files may be omitted. Furthermore, no profit or
other material gain may be realized for distributing Terminus with the sole
exception of recovery for media and postage. Bundling Terminus, the
distribution archive or any member files, with any commercial product is
expressly prohibited prior to obtaining a "Commercial Distribution
Agreement".
Contact the support BBS for details if you wish to obtain this agreement.
ii
ACKNOWLEDGEMENTS
----------------------------
Chuck Forsberg for his X/YMODEM and ZMODEM protocol specifications and for
his public domain rz.c, sz.c & zm.c source files.
Special thanks to:
Earle Ake, Tim Aston, Greg Bastow, Lee Bosch, Peter DiSilva, Joyce Divina,
Glenn Edgar, Harold Feldman, Mike Golobay, Chuck Henrich, Doug Keller, John
Kempf, Paul Kienitz, Steve Kratz, Tom Krotchko, Bob Pomeroy, Tony Preston,
Tom Robinson, Jim Scarborough, Greg Smith, Mike Thomas, James Tysinger,
Dan Warburton, Chris Wichura, Joe Wolfe, John Yeager.
iii Order Form #3158-EE
* Terminus 2.0, July 1993 *
- Single User License Order Form -
Remit to: Dynalogic
P.O. Box 444
Ocean City, NJ 08226
USA
---------------------------------------------------------------------------
______ Terminus 2.0 Single User License...... @ US$40.00 ea. $ _________
______ JR-Comm to Terminus 2.0 upgrade....... @ US$10.00 ea. $ _________
(registered JR-Comm users only)
SHIPPING & HANDLING (each copy)
North America: $2; Outside: $5 $ _________
SUBTOTAL $ _________
New Jersey residents add Sales Tax.............. @ 6% $ _________
TOTAL (U.S. funds drawn on a U.S. bank) $ _________
Name: _____________________________________________________________________
Company (ONLY if company address): ________________________________________
Address: __________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Phone: _________________________
PRICES ARE SUBJECT TO CHANGE WITHOUT NOTICE
iv TABLE OF CONTENTS
1 INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 FEATURES OVERVIEW . . . . . . . . . . . . . . . . . . . . . . 1
1.2 MISSING FEATURES . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 DOCUMENT STYLE AND NOTATION . . . . . . . . . . . . . . . . . 3
1.4 GADGETS . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4.1 CYCLE GADGET . . . . . . . . . . . . . . . . . . . . . 4
1.4.2 INTEGER GADGET . . . . . . . . . . . . . . . . . . . . 4
1.4.3 STRING GADGET . . . . . . . . . . . . . . . . . . . . . 5
1.4.4 CHECK GADGET . . . . . . . . . . . . . . . . . . . . . 6
2 SYSTEM REQUIREMENTS . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1 INSTALLATION . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 HIGH-SPEED MODEM USE . . . . . . . . . . . . . . . . . . . . . 9
2.3 3RD PARTY SERIAL DRIVERS . . . . . . . . . . . . . . . . . . . 10
2.4 OWNDEVUNIT.LIBRARY . . . . . . . . . . . . . . . . . . . . . . 10
2.5 DEBUGGING SUPPORT . . . . . . . . . . . . . . . . . . . . . . 11
3 PROGRAM OPERATION . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.1 SESSIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2 MASTER PROCESS . . . . . . . . . . . . . . . . . . . . . . . . 13
3.3 FILE REQUESTER PROCESS . . . . . . . . . . . . . . . . . . . . 14
3.4 TSL - TERMINUS SESSION LAUNCHER . . . . . . . . . . . . . . . 14
3.5 DETACHING FROM THE CLI . . . . . . . . . . . . . . . . . . . . 14
3.6 RESIDENT USAGE . . . . . . . . . . . . . . . . . . . . . . . . 15
3.7 TERMINUS FILES . . . . . . . . . . . . . . . . . . . . . . . . 15
3.7.1 DEFAULTS FILE . . . . . . . . . . . . . . . . . . . . . 15
3.7.2 PHONEBOOK FILE . . . . . . . . . . . . . . . . . . . . 15
3.7.3 STARTUP SCRIPT . . . . . . . . . . . . . . . . . . . . 16
3.7.4 CONSOLE DEFINITION FILES . . . . . . . . . . . . . . . 16
3.8 COMMAND LINE OPTIONS . . . . . . . . . . . . . . . . . . . . . 16
3.9 ICON TOOLTYPES . . . . . . . . . . . . . . . . . . . . . . . . 18
4 THE CONSOLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.1 SCREENS . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.2 PALETTES . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.2.1 PALETTE TYPES . . . . . . . . . . . . . . . . . . . . . 20
4.3 TERMINAL EMULATIONS . . . . . . . . . . . . . . . . . . . . . 21
4.3.1 TTY EMULATION . . . . . . . . . . . . . . . . . . . . . 21
4.3.2 AMIGA EMULATION . . . . . . . . . . . . . . . . . . . . 22
4.3.3 IBM ANSI EMULATION . . . . . . . . . . . . . . . . . . 22
4.3.4 VT-52 EMULATION . . . . . . . . . . . . . . . . . . . . 22
4.3.5 VT-102 EMULATION . . . . . . . . . . . . . . . . . . . 22
4.3.6 VT-220 EMULATION . . . . . . . . . . . . . . . . . . . 22
4.4 SPECIAL KEY SEQUENCES . . . . . . . . . . . . . . . . . . . . 23
4.5 STATUS LINE . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.6 DEFINING A CONSOLE . . . . . . . . . . . . . . . . . . . . . . 25
4.7 CHAT MODE . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.8 SPECIAL MOUSE SEQUENCES . . . . . . . . . . . . . . . . . . . 26
4.8.1 CHARACTER MOUSE . . . . . . . . . . . . . . . . . . . . 26
4.8.2 ANSI CURSOR MOUSE . . . . . . . . . . . . . . . . . . . 27
4.9 HEXADECIMAL DISPLAY MODE . . . . . . . . . . . . . . . . . . . 27
4.10 XON/XOFF FLOW CONTROL . . . . . . . . . . . . . . . . . . . . 28
4.11 BUFFERED PRINTER I/O . . . . . . . . . . . . . . . . . . . . 28
5 USING CAPTURE FILES . . . . . . . . . . . . . . . . . . . . . . . . . 29
v6 USING THE REVIEW BUFFER . . . . . . . . . . . . . . . . . . . . . . . 30
6.1 SEARCHING IN THE REVIEW BUFFER . . . . . . . . . . . . . . . . 31
6.2 NAVIGATING IN THE REVIEW BUFFER . . . . . . . . . . . . . . . 31
7 CLIPBOARD SUPPORT . . . . . . . . . . . . . . . . . . . . . . . . . . 32
7.1 MAIN DISPLAY . . . . . . . . . . . . . . . . . . . . . . . . . 32
7.2 REVIEW BUFFER . . . . . . . . . . . . . . . . . . . . . . . . 32
7.3 SENDING CLIPBOARD DATA . . . . . . . . . . . . . . . . . . . . 33
8 USING THE PHONEBOOK . . . . . . . . . . . . . . . . . . . . . . . . . 34
8.1 AUTOMATIC SAVING OF PHONEBOOK FILES . . . . . . . . . . . . . 34
8.2 LOADING AND SAVING PHONEBOOK FILES . . . . . . . . . . . . . . 35
8.3 HIGHLIGHTING AND SELECTING ENTRIES . . . . . . . . . . . . . . 35
8.4 SORTING ENTRIES . . . . . . . . . . . . . . . . . . . . . . . 35
8.5 CREATING AND EDITING ENTRIES . . . . . . . . . . . . . . . . . 36
8.6 DELETING ENTRIES . . . . . . . . . . . . . . . . . . . . . . . 37
8.7 PASSWORD MAINTENANCE . . . . . . . . . . . . . . . . . . . . . 37
9 USING THE DIALER . . . . . . . . . . . . . . . . . . . . . . . . . . 39
10 FILE TRANSFERS . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
10.1 FILE REQUESTER NOTES . . . . . . . . . . . . . . . . . . . . 41
10.2 ASCII SEND . . . . . . . . . . . . . . . . . . . . . . . . . 41
10.3 RESIDENT PROTOCOLS . . . . . . . . . . . . . . . . . . . . . 42
10.3.1 XMODEM . . . . . . . . . . . . . . . . . . . . . . . . 42
10.3.2 XMODEM-CRC . . . . . . . . . . . . . . . . . . . . . . 42
10.3.3 XMODEM-1K . . . . . . . . . . . . . . . . . . . . . . 43
10.3.4 YMODEM . . . . . . . . . . . . . . . . . . . . . . . . 43
10.3.5 YMODEM-1K . . . . . . . . . . . . . . . . . . . . . . 43
10.3.6 YMODEM-G . . . . . . . . . . . . . . . . . . . . . . . 43
10.3.7 ZMODEM . . . . . . . . . . . . . . . . . . . . . . . . 43
10.4 NOTES ON XPR . . . . . . . . . . . . . . . . . . . . . . . . 44
10.5 NOTES ON FLOW CONTROL . . . . . . . . . . . . . . . . . . . . 44
10.6 THE STATS REQUESTER . . . . . . . . . . . . . . . . . . . . . 45
11 FUNCTION KEY MACROS . . . . . . . . . . . . . . . . . . . . . . . . 47
11.1 CHARACTER ESCAPES . . . . . . . . . . . . . . . . . . . . . . 48
11.2 USING ONE LINE SCRIPTS . . . . . . . . . . . . . . . . . . . 48
12 USING THE SCRIPT RECORDER . . . . . . . . . . . . . . . . . . . . . 49
13 REMOTE SHELL OPERATION . . . . . . . . . . . . . . . . . . . . . . . 53
13.1 CAVEATS OF REMOTE OPERATION . . . . . . . . . . . . . . . . . 53
14 MENUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
14.1 PROJECT MENU . . . . . . . . . . . . . . . . . . . . . . . . 55
14.1.1 [PROJECT][LOAD DEFAULTS...] . . . . . . . . . . . . . 55
14.1.2 [PROJECT][WRITE DEFAULTS...] . . . . . . . . . . . . . 55
14.1.3 [PROJECT][ICONIFY][I] . . . . . . . . . . . . . . . . 55
14.1.4 [PROJECT][ABOUT...][?] . . . . . . . . . . . . . . . . 56
14.1.5 [PROJECT][QUIT][Q] . . . . . . . . . . . . . . . . . . 56
14.2 PHONEBOOK MENU . . . . . . . . . . . . . . . . . . . . . . . 56
14.2.1 [PHONEBOOK][DIRECTORY...][z] . . . . . . . . . . . . . 56
14.2.2 [PHONEBOOK][DIAL NUMBER...][j] . . . . . . . . . . . . 57
14.2.3 [PHONEBOOK][REDIAL...][r] . . . . . . . . . . . . . . 57
14.2.4 [PHONEBOOK][UPDATE ENTRY][y] . . . . . . . . . . . . . 57
14.2.5 [PHONEBOOK][CREATE ENTRY...][K] . . . . . . . . . . . 57
14.2.6 [PHONEBOOK][SEND PASSWORD][Z] . . . . . . . . . . . . 57
vi 14.3 BUFFER MENU . . . . . . . . . . . . . . . . . . . . . . . . . 57
14.3.1 [BUFFER][REVIEW FROM...][B] . . . . . . . . . . . . . 57
14.3.2 [BUFFER][REVIEW AT END...][b] . . . . . . . . . . . . 58
14.3.3 [BUFFER][LOAD BUFFER...] . . . . . . . . . . . . . . . 58
14.3.4 [BUFFER][CLEAR BUFFER][C] . . . . . . . . . . . . . . 58
14.3.5 [BUFFER][QUOTE CLIPBOARD][V] . . . . . . . . . . . . . 59
14.3.6 [BUFFER][SEND CLIPBOARD][v] . . . . . . . . . . . . . 59
14.3.7 [BUFFER][START SEARCH...][e] . . . . . . . . . . . . . 59
14.3.8 [BUFFER][START EXACT SEARCH...][E] . . . . . . . . . . 59
14.3.9 [BUFFER][REPEAT SEARCH][f] . . . . . . . . . . . . . . 59
14.4 TRANSFER MENU . . . . . . . . . . . . . . . . . . . . . . . . 60
14.4.1 [TRANSFER][UPLOAD...][u] . . . . . . . . . . . . . . . 60
14.4.2 [TRANSFER][ADD UPLOAD...][L] . . . . . . . . . . . . . 60
14.4.3 [TRANSFER][DOWNLOAD...][d] . . . . . . . . . . . . . . 60
14.4.4 [TRANSFER][ASCII SEND...][i] . . . . . . . . . . . . . 60
14.4.5 [TRANSFER][OPEN CAPTURE...][O] . . . . . . . . . . . . 60
14.4.6 [TRANSFER][OPEN W/SAVE...][o] . . . . . . . . . . . . 61
14.4.7 [TRANSFER][APPEND CAPTURE...][A] . . . . . . . . . . . 61
14.4.8 [TRANSFER][APPEND W/SAVE...][a] . . . . . . . . . . . 61
14.4.9 [TRANSFER][CLOSE CAPTURE][c] . . . . . . . . . . . . . 61
14.5 SCRIPT MENU . . . . . . . . . . . . . . . . . . . . . . . . . 61
14.5.1 [SCRIPT][START...][s] . . . . . . . . . . . . . . . . 61
14.5.2 [SCRIPT][STOP][t] . . . . . . . . . . . . . . . . . . 62
14.5.3 [SCRIPT][RESUME][m] . . . . . . . . . . . . . . . . . 62
14.5.4 [SCRIPT][RECORD...][w] . . . . . . . . . . . . . . . . 62
14.5.5 [SCRIPT][SEND AREXX MACRO...][n] . . . . . . . . . . . 62
14.5.6 {SCRIPT][ABORT AREXX MACROS][k] . . . . . . . . . . . 62
14.6 SETTINGS MENU . . . . . . . . . . . . . . . . . . . . . . . . 63
14.6.1 [SETTINGS][SERIAL...][1] . . . . . . . . . . . . . . . 63
14.6.2 [SETTINGS][TRANSFER...][2] . . . . . . . . . . . . . . 63
14.6.3 [SETTINGS][MACROS...][3] . . . . . . . . . . . . . . . 63
14.6.4 [SETTINGS][PALETTE...][4] . . . . . . . . . . . . . . 63
14.6.5 [SETTINGS][PATHS...][5] . . . . . . . . . . . . . . . 63
14.6.6 [SETTINGS][MODEM...][6] . . . . . . . . . . . . . . . 63
14.6.7 [SETTINGS][PORT...][7] . . . . . . . . . . . . . . . . 63
14.6.8 [SETTINGS][GENERAL...][8] . . . . . . . . . . . . . . 63
14.6.9 [SETTINGS][CONSOLE...][9] . . . . . . . . . . . . . . 63
14.7 MISC MENU . . . . . . . . . . . . . . . . . . . . . . . . . . 64
14.7.1 [MISC][RESET TIMER] . . . . . . . . . . . . . . . . . 64
14.7.2 [MISC][KILL REMCLI][J] . . . . . . . . . . . . . . . . 64
14.7.3 [MISC][SEND BREAK][g] . . . . . . . . . . . . . . . . 64
14.7.4 [MISC][HANGUP MODEM][h] . . . . . . . . . . . . . . . 64
14.7.5 [MISC][RESET TERMINAL][X] . . . . . . . . . . . . . . 64
14.7.6 [MISC][CLEAR SCREEN][x] . . . . . . . . . . . . . . . 64
14.7.7 [MISC][PRINT SCREEN][p] . . . . . . . . . . . . . . . 65
14.7.8 [MISC][CHAT?] . . . . . . . . . . . . . . . . . . . . 65
14.7.9 [MISC][DOORWAY?][H] . . . . . . . . . . . . . . . . . 65
14.7.10 [MISC][PRINTER?][P] . . . . . . . . . . . . . . . . . 65
14.7.11 [MISC][HEX DISPLAY?] . . . . . . . . . . . . . . . . 65
14.7.12 [MISC][QUIET SERIAL?] . . . . . . . . . . . . . . . . 65
15 PHONEBOOK REQUESTER . . . . . . . . . . . . . . . . . . . . . . . . 66
15.1 {PHONEBOOK}{LOAD PHONEBOOK...}{L} . . . . . . . . . . . . . . 66
15.2 {PHONEBOOK}{SAVE PHONEBOOK...}{V} . . . . . . . . . . . . . . 66
15.3 {PHONEBOOK}{DISPLAY}{I} . . . . . . . . . . . . . . . . . . . 66
15.4 {PHONEBOOK}{SORT ORDER}{S} . . . . . . . . . . . . . . . . . 66
15.5 {PHONEBOOK}{EDIT...}{E} . . . . . . . . . . . . . . . . . . . 67
15.6 {PHONEBOOK}{ADD...}{A} . . . . . . . . . . . . . . . . . . . 67
vii 15.7 {PHONEBOOK}{DELETE}{T} . . . . . . . . . . . . . . . . . . . 67
15.8 {PHONEBOOK}{UNSELECT}{U} . . . . . . . . . . . . . . . . . . 67
15.9 {PHONEBOOK}{P/W...}{P} . . . . . . . . . . . . . . . . . . . 67
15.10 {PHONEBOOK}{SORT}{R} . . . . . . . . . . . . . . . . . . . . 67
15.11 {PHONEBOOK}{DIAL...}{D} . . . . . . . . . . . . . . . . . . 67
15.12 KEYBOARD CONTROLS . . . . . . . . . . . . . . . . . . . . . 68
16 ENTRY REQUESTER . . . . . . . . . . . . . . . . . . . . . . . . . . 69
16.1 {ENTRY}{NAME}{E} . . . . . . . . . . . . . . . . . . . . . . 69
16.2 {ENTRY}{COMMENT}{M} . . . . . . . . . . . . . . . . . . . . . 69
16.3 {ENTRY}{CAP. FILE}{F} . . . . . . . . . . . . . . . . . . . . 69
16.4 {ENTRY}{SCRIPT}{T} . . . . . . . . . . . . . . . . . . . . . 70
16.5 {ENTRY}{GET DEFINITION...}{G} . . . . . . . . . . . . . . . . 70
16.6 {ENTRY}{RESET TIMER}{I} . . . . . . . . . . . . . . . . . . . 70
16.7 {ENTRY}{CENTS/MIN.}{/} . . . . . . . . . . . . . . . . . . . 70
16.8 {ENTRY}{PHONE #1}{1} . . . . . . . . . . . . . . . . . . . . 70
16.9 {ENTRY}{PHONE #2}{2} . . . . . . . . . . . . . . . . . . . . 70
16.10 {ENTRY}{PHONE #3}{3} . . . . . . . . . . . . . . . . . . . . 70
16.11 {ENTRY}{PHONE #4}{4} . . . . . . . . . . . . . . . . . . . . 70
16.12 {ENTRY}{PREFIX}{X} . . . . . . . . . . . . . . . . . . . . . 71
16.13 {ENTRY}{P/W TYPE}{Y} . . . . . . . . . . . . . . . . . . . . 71
16.14 {ENTRY}{P/W LENGTH}{L} . . . . . . . . . . . . . . . . . . . 71
16.15 {ENTRY}{SERIAL...}{S} . . . . . . . . . . . . . . . . . . . 71
16.16 {ENTRY}{XFER...}{R} . . . . . . . . . . . . . . . . . . . . 71
16.17 {ENTRY}{MACROS...}{A} . . . . . . . . . . . . . . . . . . . 71
16.18 {ENTRY}{P/W...}{W} . . . . . . . . . . . . . . . . . . . . . 72
16.19 {ENTRY}{OK}{O} . . . . . . . . . . . . . . . . . . . . . . . 72
16.20 {ENTRY}{CANCEL}{C} . . . . . . . . . . . . . . . . . . . . . 72
17 SERIAL REQUESTER . . . . . . . . . . . . . . . . . . . . . . . . . . 73
17.1 {SERIAL}{BAUD}{B} . . . . . . . . . . . . . . . . . . . . . . 73
17.2 {SERIAL}{PARITY}{P} . . . . . . . . . . . . . . . . . . . . . 73
17.3 {SERIAL}{DUPLEX}{D} . . . . . . . . . . . . . . . . . . . . . 73
17.4 {SERIAL}{DATA LENGTH}{L} . . . . . . . . . . . . . . . . . . 73
17.5 {SERIAL}{STOP BITS}{S} . . . . . . . . . . . . . . . . . . . 73
17.6 {SERIAL}{XON/XOFF}{X} . . . . . . . . . . . . . . . . . . . . 73
18 TRANSFER REQUESTER . . . . . . . . . . . . . . . . . . . . . . . . . 74
18.1 {TRANSFER}{EXPAND BLANKS}{B} . . . . . . . . . . . . . . . . 74
18.3 {TRANSFER}{PROMPT CHAR}{M} . . . . . . . . . . . . . . . . . 74
18.4 {TRANSFER}{LINE DELAY}{L} . . . . . . . . . . . . . . . . . . 75
18.5 {TRANSFER}{CHAR DELAY}{H} . . . . . . . . . . . . . . . . . . 75
18.6 {TRANSFER}{BINARY TRANSFER}{N} . . . . . . . . . . . . . . . 75
18.7 {TRANSFER}{AUTO CHOP D/L}{D} . . . . . . . . . . . . . . . . 75
18.8 {TRANSFER}{SAVE ABORTED}{V} . . . . . . . . . . . . . . . . . 75
18.9 {TRANSFER}{RELAXED TIMING}{E} . . . . . . . . . . . . . . . . 76
18.10 {TRANSFER}{PRE-ACK D/L}{K} . . . . . . . . . . . . . . . . . 76
18.11 {TRANSFER}{PROTOCOL}{P} . . . . . . . . . . . . . . . . . . 76
18.12 {TRANSFER}{ZMODE}{Z} . . . . . . . . . . . . . . . . . . . . 76
18.13 {TRANSFER}{ZWINDOW SIZE}{W} . . . . . . . . . . . . . . . . 77
18.14 {TRANSFER}{ZMODEM RESUME}{R} . . . . . . . . . . . . . . . . 77
18.15 {TRANSFER}{EXTENDED PATHNAMES}{X} . . . . . . . . . . . . . 78
18.16 {TRANSFER}{AUTO DOWNLOAD}{U} . . . . . . . . . . . . . . . . 78
18.17 {TRANSFER}{AUTO D/L CHALLENGE}{G} . . . . . . . . . . . . . 78
18.18 {TRANSFER}{ESCAPE CTRL CHAR}{T} . . . . . . . . . . . . . . 78
18.19 {TRANSFER}{USE 32 BIT CRC}{3} . . . . . . . . . . . . . . . 78
18.20 {TRANSFER}{SKIP NOT LOCAL}{S} . . . . . . . . . . . . . . . 79
18.21 {TRANSFER}{XPR LIBRARY...}{Y} . . . . . . . . . . . . . . . 79
viii19 XPR LIBRARY REQUESTER . . . . . . . . . . . . . . . . . . . . . . . 80
19.1 {XPR LIBRARY}{GET LIBRARY...}{G} . . . . . . . . . . . . . . 80
19.2 {XPR LIBRARY}{XPR INIT}{I} - {S . . . . . . . . . . . . . . . 80
19.3 {XPR LIBRARY}{XPR OPTIONS...}{X} . . . . . . . . . . . . . . 80
20 MACROS REQUESTER . . . . . . . . . . . . . . . . . . . . . . . . . . 81
20.1 {MACROS}{F1}{1} . . . . . . . . . . . . . . . . . . . . . . . 81
20.2 {MACROS}{F2}{2} . . . . . . . . . . . . . . . . . . . . . . . 81
20.3 {MACROS}{F3}{3} . . . . . . . . . . . . . . . . . . . . . . . 81
20.4 {MACROS}{F4}{4} . . . . . . . . . . . . . . . . . . . . . . . 81
20.5 {MACROS}{F5}{5} . . . . . . . . . . . . . . . . . . . . . . . 81
20.6 {MACROS}{F6}{6} . . . . . . . . . . . . . . . . . . . . . . . 81
20.7 {MACROS}{F7}{7} . . . . . . . . . . . . . . . . . . . . . . . 81
20.8 {MACROS}{F8}{8} . . . . . . . . . . . . . . . . . . . . . . . 81
20.9 {MACROS}{F9}{9} . . . . . . . . . . . . . . . . . . . . . . . 81
20.10 {MACROS}{F10}{0} . . . . . . . . . . . . . . . . . . . . . . 81
20.11 {MACROS}{QUALIFIER}{A} . . . . . . . . . . . . . . . . . . . 81
21 PALETTE REQUESTER . . . . . . . . . . . . . . . . . . . . . . . . . 82
21.1 {PALETTE}{SELECT}{L} . . . . . . . . . . . . . . . . . . . . 82
21.2 {PALETTE}{ANSI INDEX}{0-7} . . . . . . . . . . . . . . . . . 82
21.3 {PALETTE}{RED}{Q} . . . . . . . . . . . . . . . . . . . . . . 82
21.4 {PALETTE}{GREEN}{A} . . . . . . . . . . . . . . . . . . . . . 82
21.5 {PALETTE}{BLUE}{Z} . . . . . . . . . . . . . . . . . . . . . 82
21.6 {PALETTE}{TEXT}{T,E,X,8} . . . . . . . . . . . . . . . . . . 83
21.7 {PALETTE}{BACKGROUND}{G,N,D,9} . . . . . . . . . . . . . . . 83
21.8 {PALETTE}{CURSOR}{U,R,S} . . . . . . . . . . . . . . . . . . 83
21.9 {PALETTE}{DETAIL}{I} . . . . . . . . . . . . . . . . . . . . 83
21.10 {PALETTE}{BLOCK}{K} . . . . . . . . . . . . . . . . . . . . 83
21.11 {PALETTE}{TEXT}{V} . . . . . . . . . . . . . . . . . . . . . 83
21.12 {PALETTE}{SHINE}{H} . . . . . . . . . . . . . . . . . . . . 83
21.13 {PALETTE}{SHADOW}{W} . . . . . . . . . . . . . . . . . . . . 83
21.14 {PALETTE}{MENU TEXT}{M} . . . . . . . . . . . . . . . . . . 83
21.15 {PALETTE}{MENU BACKGROUND}{B} . . . . . . . . . . . . . . . 83
22 PATHS REQUESTER . . . . . . . . . . . . . . . . . . . . . . . . . . 84
22.1 {PATHS}{TERMINUS}{T} . . . . . . . . . . . . . . . . . . . . 84
22.2 {PATHS}{UPLOADS}{U} . . . . . . . . . . . . . . . . . . . . . 84
22.3 {PATHS}{DOWNLOADS}{D} . . . . . . . . . . . . . . . . . . . . 84
22.4 {PATHS}{CAPTURE}{P} . . . . . . . . . . . . . . . . . . . . . 84
22.5 {PATHS}{SCRIPTS}{S} . . . . . . . . . . . . . . . . . . . . . 84
22.6 {PATHS}{PRINTER}{N} . . . . . . . . . . . . . . . . . . . . . 84
22.7 {PATHS}{REXX}{R} . . . . . . . . . . . . . . . . . . . . . . 85
23 MODEM REQUESTER . . . . . . . . . . . . . . . . . . . . . . . . . . 86
23.1 {MODEM}{INIT CMD}{M} . . . . . . . . . . . . . . . . . . . . 86
23.2 {MODEM}{HANGUP CMD}{H} . . . . . . . . . . . . . . . . . . . 86
23.3 {MODEM}{POSTFIX}{S} . . . . . . . . . . . . . . . . . . . . . 86
23.4 {MODEM}{PREFIX #1}{1} . . . . . . . . . . . . . . . . . . . . 86
23.5 {MODEM}{PREFIX #2}{2} . . . . . . . . . . . . . . . . . . . . 86
23.6 {MODEM}{PREFIX #3}{3} . . . . . . . . . . . . . . . . . . . . 86
23.7 {MODEM}{PREFIX #4}{4} . . . . . . . . . . . . . . . . . . . . 86
23.8 {MODEM}{OK}{K} . . . . . . . . . . . . . . . . . . . . . . . 87
23.9 {MODEM}{BUSY}{Y} . . . . . . . . . . . . . . . . . . . . . . 87
23.10 {MODEM}{RING}{I} . . . . . . . . . . . . . . . . . . . . . . 87
23.11 {MODEM}{ERROR}{E} . . . . . . . . . . . . . . . . . . . . . 87
23.12 {MODEM}{VOICE}{V} . . . . . . . . . . . . . . . . . . . . . 87
23.13 {MODEM}{CONNECT}{N} . . . . . . . . . . . . . . . . . . . . 87
ix 23.14 {MODEM}{NO CARRIER}{A} . . . . . . . . . . . . . . . . . . . 87
23.15 {MODEM}{NO DIALTONE}{L} . . . . . . . . . . . . . . . . . . 87
23.16 {MODEM}{DELAY}{D} . . . . . . . . . . . . . . . . . . . . . 88
23.17 {MODEM}{ATTEMPTS}{T} . . . . . . . . . . . . . . . . . . . . 88
23.18 {MODEM}{TIMEOUT}{U} . . . . . . . . . . . . . . . . . . . . 88
23.19 {MODEM}{PACING}{P} . . . . . . . . . . . . . . . . . . . . . 88
23.20 {MODEM}{IGNORE NO CARRIER}{G} . . . . . . . . . . . . . . . 88
23.21 {MODEM}{IGNORE CARRIER DETECT}{R} . . . . . . . . . . . . . 88
23.22 {MODEM}{HANGUP ON EXIT}{J} . . . . . . . . . . . . . . . . . 89
23.23 {MODEM}{DTR HANGUP}{Z} . . . . . . . . . . . . . . . . . . . 89
23.24 {MODEM}{FLUSH WITH A BREAK}{W} . . . . . . . . . . . . . . . 89
23.25 {MODEM}{DIALER AUTOBAUD}{B} . . . . . . . . . . . . . . . . 89
24 PORT REQUESTER . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
24.1 {PORT}{DEVICE NAME}{D} . . . . . . . . . . . . . . . . . . . 90
24.2 {PORT}{UNIT NUMBER}{U} . . . . . . . . . . . . . . . . . . . 90
24.3 {PORT}{BREAK LENGTH}{B} . . . . . . . . . . . . . . . . . . . 90
24.4 {PORT}{CTS/RTS}{T} . . . . . . . . . . . . . . . . . . . . . 90
24.5 {PORT}{PORT QUIET}{P} . . . . . . . . . . . . . . . . . . . . 90
25 GENERAL REQUESTER . . . . . . . . . . . . . . . . . . . . . . . . . 91
25.1 {GENERAL}{CHAT HISTORY}{H} . . . . . . . . . . . . . . . . . 91
25.2 {GENERAL}{CHAT LINES}{T} . . . . . . . . . . . . . . . . . . 91
25.3 {GENERAL}{REVIEW BUFFER SIZE}{R} . . . . . . . . . . . . . . 91
25.4 {GENERAL}{REVIEW LINES}{W} . . . . . . . . . . . . . . . . . 91
25.5 {GENERAL}{XFER BUFFER SIZE}{F} . . . . . . . . . . . . . . . 91
25.6 {GENERAL}{GMT OFFSET}{G} . . . . . . . . . . . . . . . . . . 91
25.7 {GENERAL}{TASK PRIORITY}{P} . . . . . . . . . . . . . . . . . 91
25.8 {GENERAL}{QUOTE LENGTH}{U} . . . . . . . . . . . . . . . . . 92
25.9 {GENERAL}{QUOTE STRING}{Q} . . . . . . . . . . . . . . . . . 92
25.10 {GENERAL}{24 HOUR CLOCK}{2} . . . . . . . . . . . . . . . . 92
25.11 {GENERAL}{AUDIBLE BEEP}{A} . . . . . . . . . . . . . . . . . 92
25.12 {GENERAL}{LOGFILE ACTIVE}{L} . . . . . . . . . . . . . . . . 92
25.13 {GENERAL}{MAKE ICONS}{N} . . . . . . . . . . . . . . . . . . 92
25.14 {GENERAL}{SCREEN POPUP}{E} . . . . . . . . . . . . . . . . . 92
25.15 {GENERAL}{FILE SAVER}{V} . . . . . . . . . . . . . . . . . . 93
25.16 {GENERAL}{DISK SPACE CHECK}{D} . . . . . . . . . . . . . . . 93
25.17 {GENERAL}{SLOW DISK I/O}{K} . . . . . . . . . . . . . . . . 93
25.18 {GENERAL}{512 BYTE DISK I/O}{5} . . . . . . . . . . . . . . 93
25.19 {GENERAL}{CHIP RAM SAVER}{I} . . . . . . . . . . . . . . . . 93
25.20 {GENERAL}{DATE FORMAT}{M} . . . . . . . . . . . . . . . . . 93
26 CONSOLE REQUESTER . . . . . . . . . . . . . . . . . . . . . . . . . 94
26.1 {CONSOLE}{EMULATION}{U} . . . . . . . . . . . . . . . . . . . 94
26.2 {CONSOLE}{PALETTE}{P} . . . . . . . . . . . . . . . . . . . . 94
26.3 {CONSOLE}{SCREEN}{S} . . . . . . . . . . . . . . . . . . . . 94
26.4 {CONSOLE}{ROWS}{R} . . . . . . . . . . . . . . . . . . . . . 94
26.5 {CONSOLE}{COLS}{L} . . . . . . . . . . . . . . . . . . . . . 95
26.6 {CONSOLE}{PRESCROLL (0)}{0} . . . . . . . . . . . . . . . . . 95
26.7 {CONSOLE}{INTERLACE (1)}{1} . . . . . . . . . . . . . . . . . 95
26.8 {CONSOLE}{STATUS LINE (2)}{2} . . . . . . . . . . . . . . . . 95
26.9 {CONSOLE}{TITLE BAR (3)}{3} . . . . . . . . . . . . . . . . . 95
26.10 {CONSOLE}{TITLE STATUS (4)}{4} . . . . . . . . . . . . . . . 95
26.11 {CONSOLE}{PUBLIC SCREEN}{5} . . . . . . . . . . . . . . . . 95
26.12 {CONSOLE}{KEYMAP}{K} . . . . . . . . . . . . . . . . . . . . 95
26.13 {CONSOLE}{CR XLATE}{X} . . . . . . . . . . . . . . . . . . . 96
26.14 {CONSOLE}{LF XLATE}{T} . . . . . . . . . . . . . . . . . . . 96
26.15 {CONSOLE}{EOL OUT}{E} . . . . . . . . . . . . . . . . . . . 96
x 26.16 {CONSOLE}{GET DEFINITION...}{G} . . . . . . . . . . . . . . 96
26.17 {CONSOLE}{SAVE DEFINITION...}{V} . . . . . . . . . . . . . . 96
26.18 {CONSOLE}{SELECT NEW FONT...}{F} . . . . . . . . . . . . . . 96
26.19 {CONSOLE}{VT-XX OPTIONS...}{N} . . . . . . . . . . . . . . . 96
26.20 {CONSOLE}{STRIP HIGH BIT}{B} . . . . . . . . . . . . . . . . 96
26.21 {CONSOLE}{MOUSE PACING}{I} . . . . . . . . . . . . . . . . . 97
26.22 {CONSOLE}{DESTRUCTIVE BACKSPACE}{D} . . . . . . . . . . . . 97
26.23 {CONSOLE}{SMOOTH SCROLL}{M} . . . . . . . . . . . . . . . . 97
26.24 {CONSOLE}{AUTOWRAP MODE}{W} . . . . . . . . . . . . . . . . 97
26.25 {CONSOLE}{CHAT MODE}{A} . . . . . . . . . . . . . . . . . . 97
26.26 {CONSOLE}{IBM DOORWAY MODE}{Y} . . . . . . . . . . . . . . . 97
26.27 {CONSOLE}{CURSOR POS.}{6} . . . . . . . . . . . . . . . . . 98
26.28 {CONSOLE}{CURSOR BLINK}{7} . . . . . . . . . . . . . . . . . 98
26.29 {CONSOLE}{FAST CURSOR}{8} . . . . . . . . . . . . . . . . . 98
26.30 {CONSOLE}{RAW CAPTURE}{9} . . . . . . . . . . . . . . . . . 98
27 VTOPTIONS REQUESTER . . . . . . . . . . . . . . . . . . . . . . . . 99
27.1 {VTOPTIONS}{DISPLAY CTRLS}{Y} . . . . . . . . . . . . . . . . 99
27.2 {VTOPTIONS}{7 BIT MODE}{7} . . . . . . . . . . . . . . . . . 99
27.3 {VTOPTIONS}{132 COLUMNS}{1} . . . . . . . . . . . . . . . . . 99
27.4 {VTOPTIONS}{LIGHT BACKGROUND}{L} . . . . . . . . . . . . . . 99
27.5 {VTOPTIONS}{NEWLINE MODE}{N} . . . . . . . . . . . . . . . . 99
27.6 {VTOPTIONS}{KEYPAD MODE}{K} . . . . . . . . . . . . . . . . . 99
27.7 {VTOPTIONS}{CURSOR MODE}{U} . . . . . . . . . . . . . . . . . 100
27.8 {VTOPTIONS}{SWAP BS/DEL}{S} . . . . . . . . . . . . . . . . . 100
27.9 {VTOPTIONS}{AUTO KEY REPEAT}{T} . . . . . . . . . . . . . . . 100
27.10 {VTOPTIONS}{CHARACTER SET}{H} . . . . . . . . . . . . . . . 100
27.11 {VTOPTIONS}{DA RESPONSE}{D} . . . . . . . . . . . . . . . . 100
27.12 {VTOPTIONS}{ANSWERBACK MSG}{A} . . . . . . . . . . . . . . . 100
28 TERMINUS SCRIPT LANGUAGE . . . . . . . . . . . . . . . . . . . . . . 101
28.1 SCRIPTS OVERVIEW . . . . . . . . . . . . . . . . . . . . . . 101
28.2 RUNNING SCRIPTS . . . . . . . . . . . . . . . . . . . . . . . 102
28.3 OPTIONS AND COMMANDS . . . . . . . . . . . . . . . . . . . . 102
28.4 SCRIPT FILE TYPES . . . . . . . . . . . . . . . . . . . . . . 103
28.4.1 .def - Defaults file . . . . . . . . . . . . . . . . . 103
28.4.2 .phone - Phonebook file . . . . . . . . . . . . . . . 103
28.4.3 .con - Console definition file . . . . . . . . . . . . 104
28.4.4 .scp - Script file . . . . . . . . . . . . . . . . . . 104
28.4.5 .trx - ARexx macro file . . . . . . . . . . . . . . . 104
28.5 COMMAND SCOPE . . . . . . . . . . . . . . . . . . . . . . . . 104
28.6 OPTION CLASSES . . . . . . . . . . . . . . . . . . . . . . . 105
28.6.1 INTEGER . . . . . . . . . . . . . . . . . . . . . . . 105
28.6.2 STRING . . . . . . . . . . . . . . . . . . . . . . . . 105
28.6.3 FLAG . . . . . . . . . . . . . . . . . . . . . . . . . 105
28.6.4 MUX . . . . . . . . . . . . . . . . . . . . . . . . . 105
28.6.5 CMD . . . . . . . . . . . . . . . . . . . . . . . . . 106
28.7 SCRIPT STRUCTURE . . . . . . . . . . . . . . . . . . . . . . 106
28.8 KEYWORDS . . . . . . . . . . . . . . . . . . . . . . . . . . 106
28.9 COMMENTS . . . . . . . . . . . . . . . . . . . . . . . . . . 107
28.10 LABELS . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
28.11 INTEGER VARIABLES . . . . . . . . . . . . . . . . . . . . . 107
28.12 STRING VARIABLES . . . . . . . . . . . . . . . . . . . . . . 108
28.13 GLOBAL VARIABLES . . . . . . . . . . . . . . . . . . . . . . 108
28.14 READ-ONLY SYSTEM VARIABLES . . . . . . . . . . . . . . . . . 109
28.15 READ/WRITE SYSTEM VARIABLES . . . . . . . . . . . . . . . . 110
28.16 OPERATOR PRECEDENCE . . . . . . . . . . . . . . . . . . . . 111
28.17 SYNTAX . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
xi 28.18 ESCAPE CODES . . . . . . . . . . . . . . . . . . . . . . . . 113
28.19 SCRIPT FILE I/O . . . . . . . . . . . . . . . . . . . . . . 114
28.20 SCRIPT EXECUTION DETAILS . . . . . . . . . . . . . . . . . . 114
28.21 INPUT COMMANDS . . . . . . . . . . . . . . . . . . . . . . . 115
28.22 STRING MATCHING . . . . . . . . . . . . . . . . . . . . . . 116
28.23 BULLET-PROOF AUTOMATION . . . . . . . . . . . . . . . . . . 117
28.24 AREXX INTERFACE . . . . . . . . . . . . . . . . . . . . . . 119
29 FUNCTION AND STATEMENT DESCRIPTIONS . . . . . . . . . . . . . . . . 120
ABS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
ALARM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
ASC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
ASEND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
ASK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
BEEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
CALL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
CAPTURE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
CHAIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
CHDIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
CHR$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
CLEAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
CLOSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
CLRLINE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
CLRRECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
CLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
CONTINUE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
CURPALETTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
DOWNLOAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
END . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
EXECUTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
EXISTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
EXIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
FOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
NEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
GETLINE$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
GOSUB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
GOTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
HANGUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
IF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
ELSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
ENDIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
INPUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
INSTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
INVLINE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
KILL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
LDEFAULTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
LDEFFILE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
LEFT$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
LEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
LOG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
LOWER$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
LPHONES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
MID$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
MOVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
ONCARRIER . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
ONMOUSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
ONTIMEOUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
OPEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
xii PAUSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
POP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
PRINT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
PRINTER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
QUIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
READ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
REDIAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
RELMOVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
REMOTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
REPEAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
UNTIL . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
RESUME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
RETURN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
REXX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
RIGHT$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
SBREAK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
SCREENTOFRONT . . . . . . . . . . . . . . . . . . . . . . . . . . 136
SDEFAULTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
SDEFFILE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
SELECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
SEND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
SPACE$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
SPASSWORD . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
SPHONES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
STR$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
TRIM$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
UNSELECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
UPLOAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
UPPER$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
VAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
WAIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
WHEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
WHILE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
WEND . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
WRITE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
XLATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
30 OPTION VARIABLE DESCRIPTIONS . . . . . . . . . . . . . . . . . . . . 144
AFKEY1-10$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
ANSWERBACK$ . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
AUDIOBEEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
AUTOBAUD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
AUTOCHOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
AUTODL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
AUTOREPEAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
AUTOWRAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
BAUD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
BINARYXFER . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
BIT7MODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
BLINK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
BREAKLEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
BSDESTRUCT . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
CAPTUREPATH$ . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
CFKEY1-10$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
CHARDELAY . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
CHARPACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
CHATHISTORY . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
CHATLINES . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
xiii CHATMODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
CHIPMIZER . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
COLMN132 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
CRC32 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
CRXLATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
CTSRTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
CURSORMODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
CURSORPOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
DARESPONSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
DATALEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
DATEFMT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
DEFFILE$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
DIALATTEMPTS . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
DIALPACING . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
DIALTIMEOUT . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
DISKSPACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
DISPCTRLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
DISPID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
DISPLAY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
DISPMODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
DLCHALLENGE . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
DOORWAY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
DOWNLOADPATH$ . . . . . . . . . . . . . . . . . . . . . . . . . . 152
DTRHANGUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
DUPLEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
EMULATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
EOLOUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
ESCCTRL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
EXITHANGUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
EXPANDBLANKS . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
FASTCURSOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
FILESAVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
FKEY1-10$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
FLUSHONBREAK . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
FONT$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
GMTOFFSET . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
HR24MODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
IGNOREDCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
IGNORENOCARRIER . . . . . . . . . . . . . . . . . . . . . . . . . 155
IGNOREODU . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
KEYMAP$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
KEYPADMODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
LFXLATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
LIGHTSCREEN . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
LINEDELAY . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
LOGFILE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
MAKEICONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
MASTERPW$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
MODEMHANGUPCMD$ . . . . . . . . . . . . . . . . . . . . . . . . . 156
MODEMINITCMD$ . . . . . . . . . . . . . . . . . . . . . . . . . . 157
MODEMPOSTFIX$ . . . . . . . . . . . . . . . . . . . . . . . . . . 157
MODEMPREFIX1-4$ . . . . . . . . . . . . . . . . . . . . . . . . . 157
MONITOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
MOUSEPACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
NLMODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
NRCTYPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
PALETTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
PARITY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
xiv PATHEXTEND . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
PECAPTURE$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
PECENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
PECOMMENT$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
PEDATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
PEDEFFILE$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
PENAME$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
PENUMBER1-4$ . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
PEPASSWORD$ . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
PEPREFIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
PEPWLEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
PERESET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
PESCRIPT$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
POPUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
PORTQUIET . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
PREACKDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
PRESCROLL . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
PRINTERPATH$ . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
PROMPTCHAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
PROTOCOL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
PUBLICSCREEN . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
QUOTELEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
QUOTESTRING . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
RAWCAPTURE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
REDIALDELAY . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
RELAXEDTIMING . . . . . . . . . . . . . . . . . . . . . . . . . . 162
RESPONSEBUSY$ . . . . . . . . . . . . . . . . . . . . . . . . . . 162
RESPONSECONNECT$ . . . . . . . . . . . . . . . . . . . . . . . . . 163
RESPONSEERROR$ . . . . . . . . . . . . . . . . . . . . . . . . . . 163
RESPONSENOCARRIER$ . . . . . . . . . . . . . . . . . . . . . . . . 163
RESPONSENODIALTONE$ . . . . . . . . . . . . . . . . . . . . . . . 163
RESPONSEOK$ . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
RESPONSERING$ . . . . . . . . . . . . . . . . . . . . . . . . . . 163
RESPONSEVOICE$ . . . . . . . . . . . . . . . . . . . . . . . . . . 163
REVIEWBUF . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
REVIEWLINES . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
REXXPATH$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
SAVEABORTED . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
SCRIPTPATH$ . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
SERDEV$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
SETCOLOR2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
SETCOLOR4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
SETCOLOR8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
SETCOLOR16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
SETCUSTOM2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
SETCUSTOM4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
SETCUSTOM8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
SETMONO2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
SETMONO4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
SETMONO8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
SETWORKBENCH . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
SFKEY1-10$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
SKIPNOTLOCAL . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
SLOWDISK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
SMALLBLOCKS . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
SMOOTH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
SORTMODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
STATUSLINE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
xv STOPBITS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
STRIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
SWAPBS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
TASKPRI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
TERMINUSPATH$ . . . . . . . . . . . . . . . . . . . . . . . . . . 168
TITLEBAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
TITLESTATUS . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
UPLOADPATH$ . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
WINDOWSIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
WINPOSX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
XFERBUF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
XONXOFF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
XPRINIT$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
XPRNAME$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
ZMODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
ZRESUME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
31 SORTED OPTIONS AND COMMANDS . . . . . . . . . . . . . . . . . . . . 171
31.1 KEYWORDS . . . . . . . . . . . . . . . . . . . . . . . . . . 171
31.2 READ ONLY VARIABLES . . . . . . . . . . . . . . . . . . . . . 171
31.3 READ/WRITE VARIABLES . . . . . . . . . . . . . . . . . . . . 172
31.4 LEVEL 1 OPTION VARIABLES . . . . . . . . . . . . . . . . . . 172
31.5 LEVEL 2 OPTION VARIABLES . . . . . . . . . . . . . . . . . . 173
31.6 LEVEL 3 OPTION VARIABLES . . . . . . . . . . . . . . . . . . 174
31.7 LEVEL 4 OPTION VARIABLES . . . . . . . . . . . . . . . . . . 175
31.8 LEVEL 5 OPTION VARIABLES . . . . . . . . . . . . . . . . . . 175
31.9 LEVEL 6 OPTION VARIABLES . . . . . . . . . . . . . . . . . . 175
31.10 LEVEL 7 COMMANDS . . . . . . . . . . . . . . . . . . . . . . 176
31.11 LEVEL 8 COMMANDS . . . . . . . . . . . . . . . . . . . . . . 176
32 DEFAULTS FILE . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
33 PHONEBOOK FILE . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
34 DEFINITION FILE . . . . . . . . . . . . . . . . . . . . . . . . . . 184
APPENDIX A - ASCII CODE TABLE . . . . . . . . . . . . . . . . . . . . . 186
APPENDIX B - EMULATIONS . . . . . . . . . . . . . . . . . . . . . . . . 188
C0 (ASCII) CONTROL CODES . . . . . . . . . . . . . . . . . . . . . 188
C1 CONTROL CODES . . . . . . . . . . . . . . . . . . . . . . . . . 188
ANSI SET/RESET MODES . . . . . . . . . . . . . . . . . . . . . . . 190
DEC SET/RESET MODES . . . . . . . . . . . . . . . . . . . . . . . 190
CURSOR CONTROL SEQUENCES . . . . . . . . . . . . . . . . . . . . . 191
SET GRAPHICS RENDITION . . . . . . . . . . . . . . . . . . . . . . 191
EDITING SEQUENCES . . . . . . . . . . . . . . . . . . . . . . . . 192
ERASING SEQUENCES . . . . . . . . . . . . . . . . . . . . . . . . 192
REPORT SEQUENCES . . . . . . . . . . . . . . . . . . . . . . . . . 193
TAB STOP SEQUENCES . . . . . . . . . . . . . . . . . . . . . . . . 193
TERMINAL RESET SEQUENCES . . . . . . . . . . . . . . . . . . . . . 194
INVOKING CHARACTER SETS . . . . . . . . . . . . . . . . . . . . . 194
SET CHARACTER SET . . . . . . . . . . . . . . . . . . . . . . . . 194
KEYPAD MODE . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
SCROLLING MARGINS . . . . . . . . . . . . . . . . . . . . . . . . 195
PRINTING SEQUENCES . . . . . . . . . . . . . . . . . . . . . . . . 195
LINE ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . . . 196
ALIGNMENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
SELECT C1 CONTROLS . . . . . . . . . . . . . . . . . . . . . . . . 196
xvi COMPATIBILITY MODE . . . . . . . . . . . . . . . . . . . . . . . . 196
CHARACTER ATTRIBUTES . . . . . . . . . . . . . . . . . . . . . . . 196
USER DEFINED KEYS . . . . . . . . . . . . . . . . . . . . . . . . 196
VT52 SEQUENCES . . . . . . . . . . . . . . . . . . . . . . . . . . 197
UNRECOGNIZED SEQUENCES . . . . . . . . . . . . . . . . . . . . . . 197
APPENDIX C - MESSAGES . . . . . . . . . . . . . . . . . . . . . . . . . 199
OPERATIONAL MESSAGES, QUERIES AND ERRORS . . . . . . . . . . . . . . . 199
ACTIVATE SERIAL PORT? . . . . . . . . . . . . . . . . . . . . . . 199
ANSI COLOR INDEX ERROR . . . . . . . . . . . . . . . . . . . . . . 199
ATTEMPT ZMODEM RESUME? . . . . . . . . . . . . . . . . . . . . . . 199
CANCEL BUFFERED PRINTER DATA? . . . . . . . . . . . . . . . . . . 199
CANNOT USE PROPORTIONAL FONT: . . . . . . . . . . . . . . . . . . 199
CARRIER PRESENT . . . . . . . . . . . . . . . . . . . . . . . . . 199
CARRIER PRESENT, EXIT? . . . . . . . . . . . . . . . . . . . . . . 200
CLOSE FILE REQUESTER . . . . . . . . . . . . . . . . . . . . . . . 200
CLOSE VISITOR WINDOWS . . . . . . . . . . . . . . . . . . . . . . 200
CREATE NON-EXISTENT PATH? . . . . . . . . . . . . . . . . . . . . 200
CTS HANDSHAKE INACTIVE . . . . . . . . . . . . . . . . . . . . . . 200
DEVICE/UNIT IN USE BY: . . . . . . . . . . . . . . . . . . . . . . 200
ERROR WHILE WRITING FILE: . . . . . . . . . . . . . . . . . . . . 200
FILE IS ALREADY IN USE . . . . . . . . . . . . . . . . . . . . . . 200
FILENAME BUFFER OVERFLOW . . . . . . . . . . . . . . . . . . . . . 201
INSUFFICIENT DISK SPACE . . . . . . . . . . . . . . . . . . . . . 201
INSUFFICIENT MEMORY . . . . . . . . . . . . . . . . . . . . . . . 201
INVALID DISPLAY ID, USING HIRES . . . . . . . . . . . . . . . . . 201
MASTER PASSWORD NOT DEFINED . . . . . . . . . . . . . . . . . . . 201
NEED A SCRIPT FILENAME . . . . . . . . . . . . . . . . . . . . . . 201
NO CARRIER PRESENT . . . . . . . . . . . . . . . . . . . . . . . . 201
NO ENTRIES SELECTED FOR DIALING . . . . . . . . . . . . . . . . . 201
NO MATCH FOUND . . . . . . . . . . . . . . . . . . . . . . . . . . 202
OVERWRITE EXISTING FILE? . . . . . . . . . . . . . . . . . . . . . 202
OWNDEVUNIT ERROR: . . . . . . . . . . . . . . . . . . . . . . . . 202
REVIEW BUFFER EMPTY . . . . . . . . . . . . . . . . . . . . . . . 202
SELECT AN XPR LIBRARY FIRST . . . . . . . . . . . . . . . . . . . 202
SYSTEM DEVICE ERROR: . . . . . . . . . . . . . . . . . . . . . . . 202
UNABLE TO ACCESS PRINTER . . . . . . . . . . . . . . . . . . . . . 202
UNABLE TO OPEN FILE: . . . . . . . . . . . . . . . . . . . . . . . 202
UNABLE TO OPEN FONT: . . . . . . . . . . . . . . . . . . . . . . . 203
UNABLE TO OPEN LIBRARY: . . . . . . . . . . . . . . . . . . . . . 203
UNABLE TO QUOTE STRING: . . . . . . . . . . . . . . . . . . . . . 203
SCRIPT ERRORS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
CANNOT ALTER READ ONLY VARIABLE . . . . . . . . . . . . . . . . . 203
CHDIR FAILED . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
COULD NOT OPEN FILE . . . . . . . . . . . . . . . . . . . . . . . 203
DIVISION BY ZERO . . . . . . . . . . . . . . . . . . . . . . . . . 203
DUPLICATE LABEL FOUND . . . . . . . . . . . . . . . . . . . . . . 203
ELSE WITHOUT IF . . . . . . . . . . . . . . . . . . . . . . . . . 204
ENDIF MISSING . . . . . . . . . . . . . . . . . . . . . . . . . . 204
ENDIF WITHOUT IF . . . . . . . . . . . . . . . . . . . . . . . . . 204
EXPRESSION MISSING . . . . . . . . . . . . . . . . . . . . . . . . 204
FILE CURRENTLY OPEN . . . . . . . . . . . . . . . . . . . . . . . 204
FILE IS NOT OPENED FOR INPUT . . . . . . . . . . . . . . . . . . . 204
FILE IS NOT OPENED FOR OUTPUT . . . . . . . . . . . . . . . . . . 204
FILE NOT FOUND . . . . . . . . . . . . . . . . . . . . . . . . . . 204
FILE NOT OPEN . . . . . . . . . . . . . . . . . . . . . . . . . . 204
xvii INCORRECT VARIABLE USAGE . . . . . . . . . . . . . . . . . . . . . 205
INVALID COMMAND SCOPE . . . . . . . . . . . . . . . . . . . . . . 205
INVALID LABEL USED . . . . . . . . . . . . . . . . . . . . . . . . 205
INVALID RESUME ATTEMPT . . . . . . . . . . . . . . . . . . . . . . 205
LABEL NOT FOUND . . . . . . . . . . . . . . . . . . . . . . . . . 205
MISSING QUOTE . . . . . . . . . . . . . . . . . . . . . . . . . . 205
NEXT WITHOUT FOR . . . . . . . . . . . . . . . . . . . . . . . . . 205
NO CARRIER PRESENT . . . . . . . . . . . . . . . . . . . . . . . . 205
NOT A VARIABLE . . . . . . . . . . . . . . . . . . . . . . . . . . 205
OUT OF MEMORY . . . . . . . . . . . . . . . . . . . . . . . . . . 206
RETURN WITHOUT GOSUB . . . . . . . . . . . . . . . . . . . . . . . 206
SERIAL DEVICE QUIET . . . . . . . . . . . . . . . . . . . . . . . 206
STEP VALUE IS ZERO . . . . . . . . . . . . . . . . . . . . . . . . 206
STRING TOO LONG . . . . . . . . . . . . . . . . . . . . . . . . . 206
SYNTAX ERROR . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
UNABLE TO START REMOTE CLI . . . . . . . . . . . . . . . . . . . . 206
UNBALANCED PARENTHESES . . . . . . . . . . . . . . . . . . . . . . 206
UNEXPECTED END OF FILE REACHED . . . . . . . . . . . . . . . . . . 206
UNTIL WITHOUT REPEAT . . . . . . . . . . . . . . . . . . . . . . . 207
VALUE OUT OF RANGE . . . . . . . . . . . . . . . . . . . . . . . . 207
WEND WITHOUT WHILE . . . . . . . . . . . . . . . . . . . . . . . . 207
APPENDIX D - QUESTIONS & ANSWERS . . . . . . . . . . . . . . . . . . . 208
35 SUPPORT INFORMATION . . . . . . . . . . . . . . . . . . . . . . . . 214
35.1 DYNALOGIC PRODUCT SUPPORT BBS . . . . . . . . . . . . . . . . 214
35.2 GENIE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
35.3 COMPUSERVE . . . . . . . . . . . . . . . . . . . . . . . . . 214
35.4 BIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
35.5 USENET/INTERNET . . . . . . . . . . . . . . . . . . . . . . . 215
35.6 US MAIL . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
35.7 IF YOU HAVE PROBLEMS . . . . . . . . . . . . . . . . . . . . 215
xviiiTerminus 2.0 Users Manual Electronic Edition
1 INTRODUCTION
--------------
Welcome to Terminus 2.0, a highly capable and flexible, if not seasoned
telecommunications tool for the Amiga personal computer system. Terminus
is a completely rewritten replacement for JR-Comm 1.02a. It is not an
update.
Initially, JR-Comm was going to be updated as scheduled to include XPR and
ARexx support. But, quite frankly, JR-Comm's major limitation was that it
lacked the proper design to add new features easily. With the release of
AmigaDOS 2.04 it became apparent that a complete rewrite was the only
solution. As a result, Terminus is essentially a second generation
product, hence the 2.0 version number.
Terminus also conforms, where possible, to the recommendations outlined in
the "Commodore Amiga Style Guide" for Release 2 of the Amiga operating
system while still retaining compatibility with the 1.3 release. However,
all future releases of Terminus will be compatible with the 2.0 (or later)
operating system release only.
1.1 FEATURES OVERVIEW
---------------------
The following are the major features present in Terminus 2.0.
- Reentrant program design for multiple sessions using one
copy of program code in ram.
- All internal functions multitask.
- Can be iconified.
- The entire program is keyboard navigable.
- Comprehensive script language implemented as a small BASIC
interpreter.
- Automated script record feature to create login scripts.
- ARexx and XPR support.
- Display system uses custom scroll routines for fast scroll
rates and interleaved bitmaps to eliminate flicker during
scrolling without the need for a 68020 or higher cpu.
- TTY, AMIGA, IBM COLOR/MONO, VT52, VT102 AND VT220 terminal
emulations. All emulations are as complete and as accurate
as possible.
- Console definition files to easily change Terminus between
different terminal configurations.
- 1 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
- XMODEM, XMODEM-CRC, XMODEM-1k, YMODEM, YMODEM-1k, YMODEM-g
and ZMODEM file transfer protocols included internally for
fast throughput rates. XPR support for other less used
protocols.
- Windowed review buffer that uses the Boyer-Moore search
algorithm for fast location of text within the buffer space.
Can also load files directly into the buffer with dynamic
buffer resizing as required.
- Clipboard support for snipping text from the review buffer
or main terminal display. Options to send either raw or
quoted text from the clipboard out the serial port.
- Multiline chat area with configurable height and history
buffer.
- Superb XON/XOFF flow control with status line indicator and
immediate text display stop/start via keyboard control.
- Support for DMA and programmed I/O hard disk controllers
that have problems with downloads using high speed modems.
- ChipMiser option for systems with limited chip ram space.
- Dynamically buffered printer support so that the terminal is
never I/O bound due to slow printer output.
- Hexadecimal display mode with output that is compatible with
both the review buffer and capture files.
_ Integral remote CLI/Shell feature.
- Phonebook entry support for multiple number systems with up
to 4 numbers per entry.
- All defaults, phonebook, console definition and script files
are ASCII compatible for editing with your favorite text
editor.
- Full support for OwnDevUnit.library is also included.
1.2 MISSING FEATURES
--------------------
There were some changes that resulted in the removal of four major
items previously available in JR-Comm. They were the internal file
requester, CIS B+ and WXMODEM file transfer protocols and the Skypix
terminal emulation.
The file requester was removed in favor of using the file and font
requesters that the asl.library and req.library provide. Although the
ability to select files across multiple devices/volumes/directories is
not currently supported by these two requesters, there is a new menu
- 2 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
item in Terminus that allows you to add file selections to the
selected list. One of these file requesters must be present in the
LIBS: directory of your system in order to use Terminus.
An external CIS B+ XPR module is provided with the Terminus
distribution disk. The internal implementation of this protocol was
deleted since it can only be used with the Compuserve Information
System.
WXMODEM was removed because it was rarely, if ever, used outside the
now defunct PeopleLink service.
The Skypix emulation no longer exists due to the scheduled release of
a new version of the Skyline BBS that will provide a new graphics
protocol. It was not known during the redesign of the display system
if the original protocol would be supported so the irrevocable
decision to remove it was made. A future version of Terminus is
slated to provide a graphics protocol that will have its capabilities
publically documented for use by any BBS system operator.
1.3 DOCUMENT STYLE AND NOTATION
-------------------------------
This document uses several different styles of text formatting to help
you differentiate certain items from one another. They are:
"text" - Text that is delimited by double quote characters
indicates a literal string of data, the context of
which is determined by the paragraph it appears
in.
CAPS - Capitals by themselves denote a script command,
keyword, state or argument for an option and/or
script command.
<CAPS> - Capitals surrounded by angle brackets indicate a
key on the computer keyboard. Numeric keypad keys
are further defined with the letter 'N' preceding
of the keycap label, such as <N1> or <N*>. Cursor
keys are described using direction the arrow
points to, such as <DOWN> or <RIGHT>. If a key
requires a modifier it will immediately precede
the key, such as <RAMIGA><N> or <LALT><TAB> which
refer to holding down the right Amiga key prior to
pressing the <N> key and holding down the left
<ALT> key prior to pressing the <TAB> key.
[CAPS] - Capitals surrounded by square brackets indicate a
menu item, they are listed as a pair or triplet of
terms to indicate the menu, item and, optionally,
the menu hotkey (activated via the <RAMIGA>
modifier key) that activates the item. Case is
significant for the hotkeys. For example,
[PHONEBOOK][REDIAL][r] would mean the item labeled
- 3 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
"Redial" that is located in the menu labeled
"Phonebook". The sequence <RAMIGA><r> (lowercase
'r') is used to activate the redial function.
{CAPS} - Capitals surrounded by curly braces indicate a
gadget label, they are listed as a triplet of
terms to indicate the requester the gadget is
located in and the character used to activate it,
case is not sensitive for gadget hotkeys. The
sequence {CONSOLE}{PALETTE}{P} would indicate the
gadget labeled "Palette" that is located in the
console requester and is activated via the <P>
key.
1.4 GADGETS
-------------
Gadgets are further defined with a string of text that defines the
type of gadget, it's default value and value range or size as
appropriate. If no definition follows the gadget label it means that
the gadget is an action gadget that performs an operation when
selected. The other types of gadgets, their descriptions and how to
use them are as follows:
1.4.1 CYCLE GADGET {C}: <default item> (items...)
------------------
A cycle gadget is rendered as a rectangle with an image of a
curled arrow that points to itself along the lefthand side of the
gadget rectangle. Selecting this gadget will "cycle" you through
a well defined set of available options for the parameter that
this gadget controls. The underlined character in the gadget
label indicates which key to press in order to change the current
setting via the keyboard. If <SHIFT> is held down in addition to
the mouse or key, the gadget will cycle through the options in
the opposite direction when the mouse button or the key is
pressed.
1.4.2 INTEGER GADGET {I}: <default value> (value range)
(optional value meaning)
--------------------
An integer gadget is sized a bit smaller than a cycle gadget and
is displayed as a numeric value with arrow images to the right
and left of the value. Selecting this gadget will increment or
decrement the value depending on which side of the gadget you
click on. The left arrow will decrement while the right arrow
will increment. The relative distance of the mouse pointer from
the center of the gadget determines the rate which the value will
change and crossing the center will change the direction. Moving
the mouse pointer off of the gadget while the left mouse button
is held down will cause the gadget to go into a high speed count
mode, return the mouse pointer to the gadget rectangle to slow it
- 4 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
down once again. Each integer gadget has upper and lower
boundaries and will not increment or decrement past these values.
As with the cycle gadget, it's label will have an underlined
character that can be used to change its value however, doing so
will open an entry requester with the current value and a label
that indicates the allowed upper and lower boundaries. Select OK
to update the value for the parameter being changed.
1.4.3 STRING GADGET {S}: "optional default assignment"
-------------------
A string gadget is a bordered rectangle that is used for entering
text. The label for a string gadget will have an underlined
character that activates the string gadget. Activation is
denoted by the presence of a cursor within the gadget rectangle.
Normal Amiga keyboard shortcuts are available for use within the
gadget, they are:
<RAMIGA><X> - Deletes the current contents of the
gadget.
NOTE! When using Terminus with the 1.3 release of
AmigaDOS the [MISC][CLEAR SCREEN][x] menu item
ovverrides this keyboard sequence.
<RAMIGA><Q> - Restores the original contents that
the gadget contained when the
requester was first opened.
<SHIFT><LEFT> - Moves cursor to the beginning of
the gadget.
<SHIFT><RIGHT> - Moves cursor to the end of the
current text item.
In addition, there are a few other sequences that are available
to navigate between several string gadgets within the requester.
Some sequences are only available when using Terminus under the
2.x release of AmigaDOS.
<RETURN> - Pressing this key will signal
Terminus to activate the next
string gadget in the requester.
<SHIFT><RETURN> - This sequence will cause Terminus
to activate the previous string
gadget in the requester.
<ALT><RETURN> - Halts text input by not activating
any other string gadgets.
<TAB> - (2.x only) Activates the first
gadget in the requester or the next
- 5 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
one if there is already a gadget
active.
<SHIFT><TAB> - (2.x only) Activates the last
gadget in the requester or the
previous one if there is already a
gadget active.
1.4.4 CHECK GADGET {F}: TRUE/FALSE
------------------
A check gadget is rendered as a small bordered square that has a
checkmark image within when the gadget is active. It represents
a boolean option in Terminus that has only one of two states, OFF
or ON, TRUE or FALSE, depending on which way you choose to look
at it. The presence of a checkmark indicates the ON or TRUE
condition for the option that it is tied to. Check gadgets also
have an underlined character within its title to indicate the key
that will toggle the state of the checkmark.
- 6 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
2 SYSTEM REQUIREMENTS
---------------------
Terminus requires an Amiga equipped with at least 1Meg of ram. It is
compatible with all versions of AmigaDOS from 1.3 through the present
release, which as of this writing is 2.1.
The program was also written to be fully reentrant so that memory is not
wasted by loading multiple copies of the program in order to use it with
more than one serial port simultaneously.
Terminus is designed to be quite flexible with respect to the modem and
serial device that you wish to operate it with. You are, however, strongly
urged to use a modem, serial device and cable (if necessary) that enables
the DCD (carrier detect) signal to function correctly. Several features
will be unusable nor will some script commands work reliably if DCD is not
functional.
Terminus contains an intelligent dialing system that can be fully utilized
if the modem you're using is capable of detecting busy signals and returns
extended connection result responses. Accurate connection time logging is
available if the modem is able to control the carrier detect line and
hardware controlled modem disconnections can be utilized if the modem is
able to respond to the state of the DTR line.
Terminus comes configured to operate with the Hayes command and return code
set, but it is flexible enough to allow most any modem to be used after
reconfiguring to send the appropriate commands and look for the proper
response codes. If the DCD or DTR lines are not operative you will need to
adjust for this as well.
Terminus also requires a file requester library that is functionally
compatible with the asl.library or req.library file requesters. The asl
requester is included with the 2.x release of AmigaDOS while the
req.library requester is included with the Terminus distribution disk.
2.1 INSTALLATION
----------------
An installation program is provided with the distribution archive that
installs Terminus on a floppy disk or hard disk for you. In the case
of floppy disk installation you will need a copy of your Workbench
disk prior to installing Terminus. Once the program has been started,
please follow the directions and answer any questions the program asks
you.
Although the installation program should suit any needs that you may
have, you might still like to proceed manually to install Terminus to
insure that you have total control over the installation process. If
so, the following should be done:
- 7 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
- Create a directory that will be used to locate all Terminus
definition and phonebook files. This directory should also
receive the logical assignment TERMINUS: somewhere in your
Startup-Sequence or user-startup scripts so that Terminus
can be run from any directory within your system.
- Create a subdirectory labeled "Scripts" under the TERMINUS:
directory, Terminus will save recorded scripts and load
scripts to be executed from this directory.
- The Terminus executable should be copied to TERMINUS: and
the TSL executable should be copied to a directory that is
part of your path assignment so that AmigaDOS can locate the
file from any directory.
- All font files included in the Terminus distribution archive
should be copied to your FONTS: directory.
- All library files on the distribution disk should be copied
to your LIBS: directory.
- All script files (those that have a ".scp" postfix) should
be copied to TERMINUS:Scripts.
- All remaining files from the distribution archive should be
copied to TERMINUS:.
If these steps are followed correctly you should be presented with the
modem customization script when Terminus is started for the first
time. This script will be executed whenever a defaults, phonebook and
startup script file are not present for the session that was started.
The script will ask you a series of questions requiring you to enter
information so that Terminus can configure your modem properly. You
will need the user manual or reference card in order to answer most of
these questions, so please have it handy. The modem script is
designed to configure the modem for the basic settings that most of
today's modems use. If there are some unique aspects of your modem
that are not covered by this script you should run the script first
then finish configuring the modem afterwards.
If you wish to exit out of the modem configuration script at any time,
for whatever reason, select the menu item [SCRIPTS][STOP][t].
Once you've completed configuring Terminus you will want to save the
current settings to the defaults file via [PROJECT][WRITE
DEFAULTS...]. You can now proceed to learn how to use the phonebook
in the section below or continue with exploring the various features
of Terminus on your own.
- 8 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
2.2 HIGH-SPEED MODEM USE
------------------------
Although Terminus was designed to execute as efficiently as possible
so that maximum benefit can be obtained when used with high speed
modems, certain configurations of Amigas can experience errors trying
to receive data when the internal serial port is operated at or above
9600 baud. This section attempts to point out the areas that can lead
to this problem and the steps you should take to eliminate them.
First and foremost, fast ram has to be present in the system. The
reason for this is simple, the cpu executes program code faster when
it is able to stay out of the chip ram space. Faster execution is
necessary in order for the cpu to respond to serial input interrupts
quick enough to prevent data overruns. Please be aware of the 512k
memory expansion at hexadecimal address $C00000. While this memory is
listed as fast ram in the free memory pool via the AmigaDOS command
"Avail", it is actually synchronized to the chip ram bus. As a
result, the cpu is subject to the same lockouts that occur when it
accesses the chip ram bus directly.
Another major factor is the version of the operating system itself.
All versions prior to the 2.0 release of AmigaDOS have sufficient
system execution overhead to cause the internal serial port device
driver not to be able to respond to incoming data interrupts in a
timely manner which results in data loss.
This problem is further aggravated when there are several hard disk
partitions and/or floppy drives mounted as well. This is due to
AmigaDOS checking each one every second for a disk change (yes,
including the hard disk partitions).
When using Terminus on an unaccelerated Amiga, you should not use a 16
color screen. The registers for the internal serial port are located
on the chip bus and a 16 color screen requires all available chip DMA
to generate the display, this prevents the cpu from accessing the chip
bus as quickly as is needed to fetch a waiting byte before being
overwritten by the next incoming byte. In addition, the scroll
operations for a 16 color screen are quite slow which adds to the
problem since data throughput is severely restricted.
The type of hard disk controller and driver present on the system can
also contribute to data loss. Certain controllers operate in such a
way as to cause data loss while transferring data from memory to disk
and vice versa. Terminus provides two options that should be able to
correct error loss caused by your hard disk system.
The first option is only of use if your controller is a DMA device and
if it is writing any size block given to it in one contiguous chunk.
This option will break up the single blocks into a series of 512 byte
blocks so that the cpu is not locked out from the bus for too long.
- 9 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Users of certain GVP controllers might already be aware of a patch
that breaks up all disk writes in this manner in order to accomplish
high speed modem telecommunications. While this patch definitely
helps, it also restricts the capabilities of the controller on a
system-wide basis, Terminus includes this option so that you can carry
out your other computing activities without degrading hard disk
performance when serial I/O is not in progress.
The second option is primarily for controllers that use programmed
I/O. This option requires flow control in order to work and it slows
down throughput as well, so only use this option on a DMA controller
if the previous one didn't help.
Both options are located in the general settings requester and are
described in detail in that section below.
If none of these recommendations help you to eliminate data loss
please contact the support BBS for additional help. Please be
prepared to give a detailed description of your system configuration
and any other pieces of info that might help to resolve your problems
in a timely manner.
2.3 3RD PARTY SERIAL DRIVERS
----------------------------
Please be aware that some serial drivers are not written correctly for
use with Terminus without using the OwnDevUnit.library. GVP's
multiport serial I/O driver is one known example.
This may sound confusing, but Terminus uses asynchronous serial I/O to
prevent a deadlock from occuring if two or more applications attempt
to access the same serial port simultaneously.
By using OwnDevUnit.library to arbitrate ownership of a given port
Terminus can use synchronous serial I/O without fear of a deadlock (so
long as all applications are OwnDevUnit-aware).
If you are experiencing data loss no matter what baud rate is being
used then copy the OwnDevUnit.library to your LIBS: directory and see
if the problem goes away.
If it does then the vendor who supplied your serial driver needs to
update it to handle the IOF_QUICK bit correctly for BeginIO() as
outlined in the Commodore RKM for the serial.device.
2.4 OWNDEVUNIT.LIBRARY
----------------------
The OwnDevUnit.library arbitrates access to a specific device and
associated unit so that only one program can use it at a given time.
It also allows for a method of the current "owner" of a device to
release it when another program requests access for it.
- 10 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Terminus provides full OwnDevUnit support by responding to a request
to release the device when asked. It will then reacquire the device
once the program that requested it has finished using it.
To use Terminus with OwnDevUnit.library all you are required to do is
have the library present in your LIBS: directory when Terminus is
first run. You may temporarily, or permanently disable OwnDevUnit
support for a specific session by using the command line option (or
icon tooltype) IGNOREODU or by setting {PORT}{IGNORE ODU}{I}.
2.5 DEBUGGING SUPPORT
---------------------
Although Terminus has been as thoroughly tested and has undergone a
year long beta period, there is still the possibility that an
oversight has left an unwanted bug or two in the program. Terminus
provides a special debug mode that you can activate when starting the
program in order to collect some data for analysis by Dynalogic so
that any problems can be fixed in a timely fashion.
You should normally not use the debug mode unless you've encountered a
repeatable problem. If an error does occur you should start from a
recently rebooted system and activate the debug mode prior to trying
to repeat the problem. If a guru occurs Terminus will immediately
attempt to write a file named "SnapShot.TB" to DF0:. It will not try
to write anywhere else in order to prevent corruption of a hard disk
partition. It will also post a requester before writing so that you
can insert a disk in DF0:. After writing the snapshot file a second
file named "debug.out" will be written to the same disk. After both
files have been written the Terminus session that caught the error
will be halted so that you can save any data that's needed before
reseting the system.
Be aware that Terminus may not catch a guru, this usually happens if
the error that occurred left the system in such a badly corrupted
state that it has no choice but to go straight to the system guru
exception handler instead of the one that Terminus has provided.
You may also encounter a problem that does not cause a guru but is
repeatable just the same. In this case use the additional menu item
[PROJECT][WRITE DEBUG] to write the "debug.out" file to DF0:.
If you are running Enforcer or some other error trapping utility that
provides information it would be greatly appreciated if this info can
be sent back to Dynalogic along with some details on how to reproduce
the problem. This is a point that cannot be stressed enough, you need
to be able to reproduce the problem, otherwise it becomes very much a
hit-or-miss situation of finding the problem.
- 11 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
It may help to remove any non-Commodore utilities that may be running
in the background in order to help isolate the real cause of a
problem. There have been cases of some that cause interference with
Terminus, and other applications as well. It's not intended to be an
excuse for a problem occurring, but it should be known that the
possibility does exist just the same.
- 12 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
3 PROGRAM OPERATION
-----------------
To begin with, Terminus is a "reentrant" program, which refers to a method
of programming that allows multiple processes to execute a single copy of
program code. If you are using a system with multiple serial ports, you
can now run several Terminus "sessions" simultaneously, all with the same
copy of program code which results in a tremendous savings in ram usage.
3.1 SESSIONS
------------
In order to keep track of all processes that are executing the program
there has to be some scheme that makes this easy for you to do. The
method used by Terminus is to use a unique "session" number for each
process.
Each Terminus session has a unique name that created by appending the
session number to the name "TERMINUS". This name is used as a
portname with ARexx and as the root filename during startup to load
the proper defaults, phonebook and startup scripts for a given
session.
Session numbers are assigned automatically during startup or you can
supply a specific session number as a command line option. This gives
you the ability to define several configurations grouped by session
number and load them when desired via session number.
Each session is comprised of two processes, main and serial. The main
process controls the user interface and terminal while the serial
process handles serial data flow, file transfers and remote CLI
operation.
3.2 MASTER PROCESS
------------------
There is one other process that exists when Terminus is running, the
master process. Unlike each session, the master process only exists
once. It is used to launch new sessions and remains present so long
as at least one session is still running (or iconified).
Once the master process has been created it checks to determine which
version of the Amiga operating system it is running under, if the
ARexx process is present, if OwnDevUnit.library exists and which file
requester library is in use. Since the master process only does these
checks during initial startup, you must start ARexx, copy
OwnDevUnit.library and the file requester library prior to starting
Terminus. Otherwise you will have to quit all Terminus sessions
first, then rerun them after accomplishing these steps.
- 13 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
The master process determines what the session number will be for each
new session as it is created. Normally, it starts with the number '1'
and looks to see if a session exists with that number, if so, the
number is incremented by one and the search continues until a free
number is located.
You can also tell the master process to use a specific session number
via a command line option if you so desire. If the requested session
is already active, the master process will bump the current value by
one and look for a vacant session number. The session will still use
the requested session files though.
3.3 FILE REQUESTER PROCESS
--------------------------
Whenever the file requester is opened for an ASCII send, upload or
download operation (but not for [TRANSFER][ADD UPLOAD...][U]) the
session process will launch a child process to manage the file
requester asynchronously. This is done so that you can continue to
communicate with the remote system in order to prevent possible
transfer timeouts due to a long wait while the requester reads in a
large directory or accesses a floppy disk.
The file requester is used synchronously in all other cases.
3.4 TSL - TERMINUS SESSION LAUNCHER
-----------------------------------
The Terminus executable contains special startup code that checks to
see if a copy of Terminus is already running. If the master process
is found a message will be sent to it to start a new session. The
executable will then terminate once the master process has initiated
the new session.
To prevent the overhead involved with loading the entire executable, a
smaller utility called TSL, is provided that duplicates this process
of finding and calling the master process to start a new session.
Additionally, TSL can be used to start Terminus itself. To accomplish
this you must have the Terminus executable located in the logical
assignment "TERMINUS:". Also, when Terminus is launched in this
fashion, TSL will not return to the CLI until all Terminus sessions
have terminated.
3.5 DETACHING FROM THE CLI
--------------------------
There is no need to use the AmigaDOS "Run" command to start Terminus
as it will automatically self-detach from the shell or CLI that it was
started from. However, you may have a need for running Terminus
without it detaching from the CLI. If so, use the TSL utility to
initially start Terminus instead.
- 14 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
TSL will not exit if Terminus is started in this manner since it is
waiting for the completion of the command that it executed to start
Terminus. Only after all Terminus sessions have been terminated will
TSL return to the CLI that it was started from.
3.6 RESIDENT USAGE
------------------
The Terminus executable is not an AmigaDOS "pure" program due to the
startup code used to accomplish CLI detachment. The TSL utility is
pure and can be made resident without worrying about the pure bit
beforehand.
3.7 TERMINUS FILES
------------------
There are several files that are used by Terminus during its startup
and while the program is running. There is a defaults file that will
reconfigure Terminus to your liking as well as a phonebook that
contains any entries you may have added to it. These files are
written in plain ASCII format so that you can edit them if you wish
with any text editor you choose.
3.7.1 DEFAULTS FILE
-------------------
The defaults file contains settings that will completely
reconfigure Terminus. It is looked for during session startup in
the current directory first. If not found there, Terminus will
check to see if the logical assignment "TERMINUS:" exists, if it
does the defaults file will be looked for there. If the defaults
file was not found, a set of internal defaults will be used to
first start the program.
As mentioned earlier, the defaults filename is constructed by
appending the string ".def" to the session name. For example,
the defaults file for session number 1 would be "terminus1.def".
A special case is the global defaults file "terminus.def" which
is simply a .def file that lacks a session number. It will be
loaded if a session default file was not found.
3.7.2 PHONEBOOK FILE
--------------------
The phonebook file is the next file that is looked for during
session startup. It contains configuration settings and entry
definitions for every entry currently in the phonebook.
- 15 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
The search procedure for the phonebook file is somewhat different
than that for the defaults file. While it also is first looked
for in the current directory, it is only looked for in the main
path that was set by Terminus or reassigned by the defaults file.
As with the defaults file, the phonebook filename is built by
adding the postfix ".phones" to the session name. Session 3
would look for the name "terminus3.phones".
You can have a global phonebook file as well by creating one that
lacks a session number.
3.7.3 STARTUP SCRIPT
--------------------
After the phonebook has been loaded Terminus will look for a
script file to execute, if there is no script file present it
will initialize the modem instead. Please remember this, the
modem will not be initialized if there is a startup script
present.
The script filename is also created by using the session name
along with the script postfix ".scp". Session 12 would have a
startup script called "terminus12.scp" that it would execute
after the session has loaded a defaults file and phonebook.
There is no global startup script as there is with the .def and
.phones files.
3.7.4 CONSOLE DEFINITION FILES
------------------------------
One of the most convenient features that Terminus provides is the
console definition file. These files allow you to reconfigure
the settings for the console; emulation, palette, screen depth,
columns, rows, keymap, font and so on simply by loading a new
console definition file. The console settings requester allows
you to create new files very easily. Terminus will load the
default console definition file if one is defined and the file is
found. Simply select a console definition file via {CONSOLE}{GET
DEFINITION...}{G} then save your defaults with [PROJECT][WRITE
DEFAULTS...] to override the default .con file.
3.8 COMMAND LINE OPTIONS
------------------------
Terminus has several options that can be passed to it from the command
line. TSL can also have these options too, they will be passed to the
master process during session launch. The available options are:
DEVICE devicename A system that has an A2232 multiport
serial card might use the command line
"Terminus DEVICE oldser.device" to use
- 16 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
the original serial device driver for
the internal port.
UNIT number Of course, it's wise to define the
proper unit number too, so the command
line would be expanded to include this
as "Terminus DEVICE oldser.device UNIT
0".
QUIET This option does not require a
parameter, it instructs the launched
session to not activate the serial port
after starting up.
IGNOREODU This option also does not have a
parameter, it tells Terminus to not
attempt a lock on the serial.device via
the OwnDevUnit library. This is usually
needed if Terminus was launched from a
getty-like program that would have
already locked the device prior to
executing the command line that starts
Terminus.
NOINTERLEAVE Another parameterless option. When
used, it will disable the use of
interleaved bitmaps and cause Terminus
to use well defined system display
routines. This option will most likely
not need to be used but was added in
case Terminus becomes incompatible with
future releases of the operating system
that may use new and unforeseen display
systems.
SESSION number This option allows you to override the
normal search for a new session number.
If the number supplied is already in use
a search will start with the next higher
number.
SCRIPT filename Allows you to override the default
startup script.
DEFAULTS filename Ditto for the default file with one
caveat, if the default file contains
device, unit or phonebook filename
information, they will be used instead
of command line supplied options.
PHONEBOOK filename Same goes for the phonebook file.
DEBUG This option enables Terminus' guru
exception handler. If an error occurs
- 17 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
that would normally guru the system it
will be "caught" by Terminus and a
"snapshot" file will be written to DF0:
along with a file that contains the
internal state of Terminus at the time
of the error. Use this option if a
repeatable error is occurring so that
the generated data can be sent to
Dynalogic for further analysis.
3.9 ICON TOOLTYPES
------------------
The above command line options can also be used as tooltypes in either
the Terminus or TSL icon. The options that require an argument, like
DEVICE, require an '=' character be included. For example:
DEVICE=serial.device
- 18 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
4 THE CONSOLE
-------------
A "console" (sometimes referred to as a "terminal") is a device that
provides local and remote input/output via a display, keyboard and
traditional I/O device, which in Terminus is the serial port. The Amiga
comes with it's own default console, aptly named "console.device", which is
normally used by the CLI or Shell and with some other telecomm programs as
well. While that device is quite useful, it is not terribly fast at
scrolling text when it is used with screens having 8 or more colors. The
approach used in Terminus was to provide a console that is compatible with
the Workbench screen but is able to deliver substantially better
performance when used with custom screens.
4.1 SCREENS
-----------
Terminus is able to run on the Workbench screen or on a 2, 4, 8, 16 or
32 (when used with the AGA chipset) color public or private custom
screen. Public screen support was added starting with the 2.0 release
of AmigaDOS. It is also fully aware of PAL and overscan modes in
effect for the Workbench screen. Alternative screen types are
possible via the DISPID command (future releases will incorporate a
screen type requester). It can also be opened on one that is "owned"
by another application if it is the active public screen. The maximum
size for use with a custom screen is determined by the size of the
Workbench or active public screen. This prevents opening a screen
that ends up not being centered on your monitor if it is larger than
the Workbench screen. Custom screens that have dimensions smaller
than the Workbench screen will be centered horizontally (not
vertically).
There are a few points to be aware of when Terminus is used on the
Workbench screen. The console window is bordered, has depth and drag
gadgets, but is not resizeable. To change the size of the console
window you must alter {CONSOLE}{ROWS}{R} and/or {CONSOLE}{COLS}{L}.
When using Terminus on a custom screen, which is the recommended
method, it employs several techniques to enhance scroll rate and
eliminate the disturbing flicker that so many programs are plagued
with when using screens of 8 or more colors. By using interleaved
bitmaps and custom blitter scroll routines you will no longer
experience text flicker during scrolls on an unaccelerated Amiga.
These scroll routines are transparent to the system and to those using
CPUBlit. You can, via a command line option, disable interleaved
bitmaps and therefore, these custom scroll routines if a future
display system results in an incompatibility with these routines.
- 19 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Although the default cursor is rendered as a block, it is recommended
that the alternative sprite cursor {CONSOLE}{FAST CURSOR}{8} be used
with high speed modems and custom screens to obtain faster text
throughput, especially when large quantities of ANSI cursor control
sequences are anticipated to be received from the remote system. This
option is not available when using Terminus on a public screen.
Terminus uses a borderless display to show as much text as possible.
Even if you are using a minimal NTSC screen size of 640x200 you will
be able to display the normal 24 line, 80 character display plus a
status line or 25 lines without the status line.
4.2 PALETTES
------------
Terminus has four palette "types" to choose from. The palettes
themselves can be customized via the palette requester, but only the
current palette can be changed. You need to select a new palette from
the console requester in order to customize it.
4.2.1 PALETTE TYPES
-------------------
Terminus has four basic palette "types" or groups. Each type has
1, 3 or 4 "members" in the group. Each member relates to the
screen depth in bitplanes.
The four types are WORKBENCH, COLOR, MONO and CUSTOM. Each
palette type also modifies the operation of the Set Graphics
Rendition (SGR) ANSI sequence for the inverse, highlight and
blinking attributes.
The following table lists the palette types, number of screen
colors available for that type and what effect it has on the SGR
sequence.
Type Colors Action
---------------------------------------------------------------
WORKBENCH n/a This palette is limited to setting Terminus
pens only and is insensitive to Workbench
screen depth. You cannot adjust palette
colors either. Inverse and rendered bold
attributes are the only ones allowed.
COLOR 2 Inverse attribute only.
COLOR 4 " " "
COLOR 8 " " "
COLOR 16 Inverse and highlight attributes only.
COLOR 32 Inverse, highlight and blinking attributes.
(Uses the COLOR/16 palette and is only
accessible when running under a system that
has the AGA chipset.)
- 20 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
CUSTOM 2 Inverse and rendered bold attributes.
CUSTOM 4 " " " " "
CUSTOM 8 " " " " "
MONO 2 Inverse attribute only.
MONO 4 Inverse and highlight attributes only.
MONO 8 Inverse, highlight and blinking attributes.
Terminus incorporates logic at startup to adjust the internal default
palettes according to which release of the operating system you're
using. The logic copies the current settings of the Workbench screen
palette and swaps several pen colors and register values due to the
differences in color ordering under the 1.x and 2.x releases.
The COLOR, MONO and CUSTOM palette types are handled a bit differently
depending on an additional parameter, the ECS Denise or AGA Alice
chips. If you're using 2.x or later version of the OS and one of
these chips is present in your system, Terminus will swap colors 0 and
1 so that the 2.0 3-D "look" is used with all program requesters. The
reason that one of these chips needs to be present is so that border
blanking can be activated for that screen to prevent a disturbing
border from being displayed.
Under 2.0 using the OCS (Original Chip Set) and under 1.3, colors 0
and 1 are not reversed so that the display looks pleasing for terminal
use, however, the requesters will not have the 3-D "look". You can
change the palette ordering to your liking if this does not satisfy
you since palettes are saved to the defaults file and will be used for
all future sessions after being modified.
4.3 TERMINAL EMULATIONS
-----------------------
Terminus provides you with six terminal emulations although briefly
described in this section, Appendix B goes into great detail on the
various control characters and sequences that each emulation
recognizes.
4.3.1 TTY EMULATION
-------------------
TTY is an acronym for Teletype which was a rather simple (by
today's terminal standards) mechanical paper-only terminal. Only
a few control characters are decoded in this emulation.
- 21 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
4.3.2 AMIGA EMULATION
---------------------
The Terminus Amiga emulation emulates most of the operation of
the Amiga console.device. It does not decode some graphics and
raw input related sequences which are described in Appendix B.
4.3.3 IBM ANSI EMULATION
------------------------
The IBM emulation comes in two flavors, color and monochrome with
color being the default choice. If you're not using an Amiga
with the AGA chipset then the Terminus color IBM ANSI emulation
lacks the blinking attribute support. This is due to the
limitation of 4 bitplanes for a hires screen with the OCS and ECS
chipsets.
The monochrome version of this emulation provides a complete
emulation since the blinking and high intensity attributes can be
contained in a 3 bitplane, 8 color display.
The console requester provides a special option for IBM Doorway
keyboard mapping which allows functional remote use of an IBM or
compatible MS-DOS system that is running the Doorway remote
control program.
This emulation does not provide support for the custom graphics
modes or the keyboard reassignment that ANSI.SYS provides.
4.3.4 VT-52 EMULATION
---------------------
Terminus provides a 100% complete DEC VT-52 terminal emulation
which is included primarily to make the VT-102 and VT-220
emulations complete as well.
4.3.5 VT-102 EMULATION
----------------------
The DEC VT-102 emulation lacks the interlace mode option and
special test modes of a real DEC terminal.
4.3.6 VT-220 EMULATION
----------------------
The only things not included with the DEC VT-220 emulation are
terminal specific test modes and downloadable character set
support due to incompatible display ratio differences between the
Amiga and a true VT-220 terminal.
- 22 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
4.4 SPECIAL KEY SEQUENCES
-------------------------
Terminus has two special key sequences that are present in the AMIGA,
IBM and VT-xx emulations to send certain characters or sequences that
are not normally sent, or easy to send. They are listed as follows:
<SHIFT><TAB> - Sends <ESC><TAB>
<CTRL><SPACE> - Sends a NUL character, hex 00, much easier to
send then using the equivalent keyboard
sequence <CTRL><@>. This sequence is used by
EMacs to set a mark.
4.5 STATUS LINE
---------------
The console provides you with a status line in the bottom row of the
display, it's meaning is described as follows:
+--------------------------------------- Terminus session name
| +----------------------------- Cursor position indicator
| | +----------------------- Capture file open indicator
| | | +------------------- Printer on indicator
| | | | +-------------- Terminal emulation
| | | | | +---------- * C/R translation
| | | | | |+--------- * L/F translation
| | | | | ||+-------- * End-of-line output
| | | | | ||| +------ * File transfer protocol
| | | | | ||| |
TERMINUSXXX XXX,YYY CAP PRT AMIGA LLC Z FX 8N1 115200 00:00:00 X 00:00:00
| | || ||| | | | |
Remote CLI indicator REMOTE || ||| | | | |
Quiet port indicator QUIET || ||| | | | |
Locked keyboard LOCKED || ||| | | | |
Send clip indicator CLIP || ||| | | | |
Record indicator RECORD || ||| | | | |
Script indicator SCRIPT || ||| | | | |
Waiting indicator WAITING || ||| | | | |
Input indicator INPUT || ||| | | | |
Debug indicator DEBUG || ||| | | | |
|| ||| | | | |
* Duplex mode ------------+| ||| | | | |
* Handshake -------------+ ||| | | | |
* Data bits ---------------+|| | | | |
* Parity ----------------+| | | | |
* Stop bits -----------------+ | | | |
* Baud rate ---------------------+ | | |
* Connect timer ------------------------------+ | |
* XOFF'd indicator -----------------------------------+ |
Time-of-day clock -----------------------------------------+
- 23 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Listed below the CAP and PRT indicators are nine indicators that will
be displayed when the respective state is active. They are listed
here in prioritized order. Since one or more of these states may be
active simultaneously, the most important of them will be displayed.
REMOTE Displayed when the remote CLI function is active. See
the description on the REMOTE script command for
details on remote CLI operation.
QUIET Displayed when the serial port is in quiet mode as
determined by [MISC][QUIET SERIAL?] and {PORT}{PORT
QUIET}{P}.
LOCKED Displayed in VT-102 or VT-200 emulation after a set KAM
(Keyboard Action Mode) sequence was received.
CLIP Displayed when a send (or quoted) clip is in progress.
RECORD Displayed when script recording is in effect.
SCRIPT Present whenever a script is executing.
WAITING Whenever Terminus is halted due to a pending WAIT
command, this indicator will be present.
INPUT Visible when the script is waiting for input.
DEBUG This indicator is present when Terminus was started
with the DEBUG command line option or icon tooltype.
The cursor position indicator, shown here as XXX,YYY actually displays
numbers referring to the column, XXX, and row, YYY, where the cursor
is located on the screen.
The XXX in the Terminus session name will be replaced with the actual
session number for the session in use. This is the same name that the
ARexx port is named as well.
Although the time-of-day clock is shown here in 24 hour format, it can
also be displayed in 12 hour, am/pm format as well. {GENERAL}{24 HOUR
CLOCK}{2} controls this. The connect timer, however, is always in 24
hour format.
Items that have an asterisk denote hidden gadgets that are attached so
that you can change that item with the left mouse button. If you have
either <SHIFT> key depressed when you click on one of these gadgets it
will scroll down through its settings rather than up. The connect
timer is reset when the gadget is selected while the XOFF'd indicator
gadget will restart the stopped serial device. Please see the section
on XON/XOFF flow control for more information on this.
- 24 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Please remember that when the status line is located within the title
bar the hidden status line gadgets are disabled.
4.6 DEFINING A CONSOLE
----------------------
To begin defining a console open the console requester and first
select the terminal emulation that this console is going to use. You
must do this first since Terminus will set various other options to
suggested defaults for each emulation. You should select the desired
palette type next then adjust the screen type. Once you've selected
the emulation, palette and screen you are free to change the other
options as you desire without having your previous selections
disturbed.
Once you are finished defining your console you can select
{CONSOLE}{SAVE DEFINITION}{V} so that the current console
configuration can be saved to a file for use later with the phonebook.
4.7 CHAT MODE
-------------
Terminus gives you a multiple line chat function with adjustable line
height and history buffer size. The chat buffer does not reside in a
separate window, the console is reduced in line height by the number
of lines in the chat area. You must set the number of lines in the
chat area via {GENERAL}{CHAT LINES}{T} prior to activating it. Any
changes afterward will be ignored until you exit and then reenter chat
mode.
The chat area is not a text editor, it is essentially a single line
buffer that is folded into several lines. Although the line wraps
when the end is reached. it does not word wrap.
The chat buffer accepts text input as expected except for "natural"
control characters which are expedited. If you want to send a control
character within a chat message you must prefix it with a '^'. A pair
of consecutive '^' characters will send that character itself. The
keys and key sequences that control the chat buffer are listed as
follows:
<RETURN> - Sends the current contents of the chat
buffer, copies the buffer to the history
buffer and then clears the buffer for the
next entry.
<UP> - Moves the cursor to the same column on the
previous line.
<DOWN> - Moves the cursor to the next column (or end
of line) on the next line.
- 25 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
<LEFT> - Moves the cursor to the left and wraps to the
previous line, last column if the cursor is
at the leftmost column.
<RIGHT> - Moves the cursor to the right and wraps down
to the next line, first column if the cursor
is at the rightmost column.
<SHIFT><LEFT> - Moves the cursor to the beginning of the
line.
<SHIFT><RIGHT> - Moves the cursor to the end of the line.
<ALT><LEFT> - Moves the cursor one word left.
<ALT><RIGHT> - Move the cursor one word right.
<ALT><UP> - Moves up one line in the chat history buffer.
<ALT><DOWN> - Moves down one line in the chat history
buffer. The chat buffer is cleared once the
end of the history buffer is reached.
<CTRL><LEFT> - Moves the cursor to the start of the buffer,
first line, first column.
<CTRL><RIGHT> - Moves the cursor to the end of the buffer.
4.8 SPECIAL MOUSE SEQUENCES
---------------------------
Terminus provides several mouse sequences for sending characters and
ANSI cursor movement sequences.
4.8.1 CHARACTER MOUSE
---------------------
The two sequences, <ALT><LMB> and <SHIFT><LMB> will send the
character underneath the mouse. The <SHIFT><LMB> sequence also
sends the sequence defined in {CONSOLE}{EOL OUT}{E} after the
character has been sent.
- 26 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
4.8.2 ANSI CURSOR MOUSE
-----------------------
The <CTRL><LMB> sequence gives you the ability to send cursor
movement sequences via the mouse pointer. To do this you first
have to place the mouse pointer over the character position that
you want to move the cursor to then press <CTRL><LMB>. Terminus
will determine which of the four cursor movement sequences need
to be sent (as well as how many) in order to move the cursor from
the present location to the desired position as per the mouse
pointer.
Please take note that some remote systems may have problems with
receiving a large chunk of data that this feature is capable of
generating, in that case you would want to activate
{CONSOLE}{MOUSE PACING}{I}. What this option does is "pace" each
cursor sequence by waiting for the cursor to move before sending
the next sequence. Of course, for this option to work, the
remote system must echo the cursor movement sequences or else the
entire operation will not complete.
If a new ANSI mouse operation is performed before the current one
is completely sent it will override that list of sequences and
start from the current cursor position to move it to the newly
requested location.
4.9 HEXADECIMAL DISPLAY MODE
-----------------------------
Terminus has the ability to switch its console, regardless of which
terminal emulation it is currently set to, into a hexadecimal display
mode for situations that require examining the sequences of characters
coming in from the remote system. The format of the display while in
this mode is:
40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f ABCDEFGHIJKLMNOP
The 16 character pairs to the left are the hexadecimal values of each
character as they are received. The 16 characters to the right are
the ASCII characters that each hex character represents. Control
characters in the range of 00 through 1f are displayed as inverse
characters in the 40 through 5f range. The other set of control
characters in the range 80 through 9f are displayed in inverse as well
but use the 60 through 7f range instead.
The format of each line will be preserved as it scrolls off the top
and is copied to the review buffer and the capture file, if one is
opened.
- 27 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
4.10 XON/XOFF FLOW CONTROL
--------------------------
The status line contains a special indicator that appears whenever the
serial port has been stopped due to an XOFF character being sent or
received. The character "X" is displayed so that you have a positive
indication of the status of the serial port. What's more, whenever
you keyboard a <CTRL><S> the display stops immediately so that
anything that catches your eye will still be there where you expect it
to be.
To restart the device in the case of a spurious XOFF character being
received, just press <CTRL><Q>.
These two keyboard sequences are only in effect when you have set
{SERIAL}{XON/XOFF}{X}.
4.11 BUFFERED PRINTER I/O
-------------------------
The printer I/O support in Terminus is dynamically buffered so that
the console is not locked when the printer is currently unable to
receive more data. All the VT emulations have several printer control
sequences that can activate the printer automatically, buffered I/O
allows you to continue using the console while the printer is still
being sent data. {PATHS}{PRINTER}{N} allows you to define the
AmigaDOS printer device name "PRT:" or a filename to direct printer
output to if you cannot use, or do not have, a printer.
- 28 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
5 USING CAPTURE FILES
----------------------
Capture files contain copies of displayed text or raw data that is received
by the console in Terminus. If {CONSOLE}{RAW CAPTURE}{9} is set all data
received will be captured as is. Otherwise, text as it appears on the
screen will be saved instead.
There are two ways of opening a capture file, you can either open the file
using [TRANSFER][OPEN CAPTURE...][O] or [TRANSFER][OPEN W/SAVE...][o].
Both will open a new file, any data in an existing file will be deleted
first. The difference is that the later will copy the contents of the
review buffer immediately to the capture file while the former does not.
There is also [TRANSFER][APPEND CAPTURE...][A] and [TRANSFER][APPEND
W/SAVE...][a] which do not clear the contents of an existing file when it
is opened. Any captured data will be appended to the contents or a file
will be created if one does not exist. This method of opening capture
files is used by the dialer when a connection is established.
When you're finished capturing the data you wish to save you can close the
file with [TRANSFER][CLOSE CAPTURE][c]. Capture files are closed
automatically when a Terminus session is ended or when you (or the dialer)
open a different capture file.
- 29 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
6 USING THE REVIEW BUFFER
--------------------------
Terminus provides you with a flexible, multitasking review buffer that has
a fast text search facility, buffer loading and integrated clipboard
support than can be operated from the keyboard as well as the mouse.
The review buffer is implemented as a "circular" buffer that always
contains the most recently received data from the console. The size of the
buffer in kilobytes is determined by {GENERAL}{REVIEW BUFFER SIZE}{R}.
You can open the review buffer by using either [BUFFER][REVIEW AT
END...][b] or [BUFFER][REVIEW FROM...][B]. The first method opens the
review buffer at the end of the buffer while the second option is used to
reopen the buffer at the last position when the buffer was closed. If
there as been new data placed in the buffer since the last time it was
opened and the old position has been overwritten, it will open at the end
of the buffer instead.
You can also load the review buffer with the file of your choice by using
[BUFFER][LOAD BUFFER...]. The review buffer will be dynamically resized if
the file is larger than the current size so that the entire file can be
loaded. Terminus does a few checks on the current free memory pool in
order to determine if it can safely do this, for one, it needs to see if
there is a contiguous memory block large enough to satisfy the size
requirement. It then checks to see if the new size will leave you with
less than 100k of free memory. If either check fails Terminus will
determine a suitable size and load as much of the file as it can, it will
inform you of not being able to load the entire file as well. In either
case, {GENERAL}{REVIEW BUFFER SIZE}{R} will be updated to reflect the new
buffer size.
The number of lines displayed in the review buffer is determined by
{GENERAL}{REVIEW LINES}{W}, which defaults to one half the size of the main
display. The buffer window also has several system gadgets attached to it,
the standard close gadget and resize gadget which you can use to adjust the
vertical height of the window. You cannot adjust the width of the window
however. The right window border also contains the scroll and up/down
gadgets for moving around in the review buffer via the mouse. The keyboard
can also be used to move within the review buffer space, the key sequences
are described below.
The review buffer window allows for "transparent" keyboard use. It does
not use any gadgets with hotkeys attached to them so that you can send data
out of the serial port while the review buffer window is active. The only
keys that cannot be used for terminal use are the numeric keypad keys, the
cursor arrow keys and the <ESC> key which are used to control the operation
of the review buffer. To send any of these keys you must first activate
the main terminal display then send these keys.
- 30 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
6.1 SEARCHING IN THE REVIEW BUFFER
-----------------------------------
Terminus provides you with a very fast text search facility based on
the Boyer-Moore algorithm for use in the review buffer. There are two
types of searches accessed via [BUFFER][START SEARCH...][e] or
[BUFFER][START EXACT SEARCH...][E], the first one will search for any
text entered into the string gadget requester without regard for case.
The later will begin a search that is sensitive to case. Both
searches are begun from the start of the review buffer and will
position the review buffer display and cursor to the start of the
located text.
[BUFFER][REPEAT SEARCH][f] will continue searching for text from the
point of the last found text. If the review buffer display is not
opened when you activate this menu item it will open the buffer and
position the display and cursor over the located text if found.
Terminus will post a requester if a match is not found in the review
buffer.
Also, [BUFFER][REPEAT SEARCH][f] will not be enabled until a search
has been attempted. Once the search operation fails, either by
starting a new search or repeating a current search, [BUFFER][REPEAT
SEARCH][f] is again disabled. It is also disabled when the review
buffer is cleared or loaded with a new file.
6.2 NAVIGATING IN THE REVIEW BUFFER
------------------------------------
The review buffer can be operated via the keyboard and mouse. There
is a scroll gadget and up/down gadget pair within the right border of
the window to navigate via the mouse. There are also a host of
keyboard equivalents for navigation from either the cursor arrow keys
or with the numeric keypad. The cursor arrow keys are present for
those Amigas, such as the A600, which do not have a numeric keypad.
The layout of the numeric keypad and the functions they provide are as
follows:
<N7> - Top of buffer <N8> - Up one line <N9> - Up one page
<N6> - Cursor left <N5> - Begin clip <N4> - Cursor right
<N1> - End of buffer <N2> - Down one line <N3> - Down one page
<ENTER> - End clip
- 31 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
The cursor arrow assignments are:
<UP> - Up one line <DOWN> - Down one line
<SHIFT><UP> - Up one page <SHIFT><DOWN> - Down one page
<CTRL><UP> - Top of buffer <CTRL><DOWN> - Bottom of buffer
<LEFT> - Cursor left <RIGHT> - Cursor right
Alternate begin/end clip sequences are:
<CTRL><RETURN> - Begin clip <ALT><RETURN> - End clip
7 CLIPBOARD SUPPORT
-------------------
Terminus provides clipboard support for both the main display as well as a
fully keyboard and mouse operable version that works in the review buffer.
7.1 MAIN DISPLAY
----------------
Clipping text from the main display is accomplished via the <LMB>.
First position the mouse pointer over the character you wish to begin
the clip at. Next, press and hold <LMB> to anchor the clip. Now drag
the mouse while keeping the button depressed and move the pointer to
the end of the text you plan to clip. When you release the mouse
button the highlighted text will be immediately written to the
clipboard.
Be aware of the "overloading" of the <LMB> for use with the ONMOUSE
script command. If you press and release the <LMB> over the same
screen location, even is the mouse was moved off of that position
while <LMB> is held down, it will satisfy the ONMOUSE condition if one
is active. You must move the mouse at least one character position
away from where you started the clip operation in order to have a clip
action performed.
No keyboard equivalent support is available for the clipping from the
main display. You can, however, use the keyboard to clip from the
review buffer as described below.
7.2 REVIEW BUFFER
-----------------
Keyboard controlled clipping within the review buffer is started with
either <N5> or <CTRL><RETURN>. You then use <ENTER> or <ALT><RETURN>
to complete the clip operation.
When using the keyboard to clip data from the review buffer you first
place the review cursor over the character where the clip will start
from. Next, press <N5> or <CTRL><RETURN> to "anchor" this location.
Now, as you use the keypad to move the cursor you will see that all
text between the anchor and the cursor is highlighted. You can move
the cursor in either direction away from the anchor, text between it
- 32 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
and the cursor will be highlighted to indicate what portion of the
review buffer will be clipped.
Once you've reached the point where you want to end the clip press
<ENTER> or <ALT><RETURN>, Terminus will then copy the highlighted text
to the clipboard.
Clipping from the review buffer with the mouse is essentially the same
as from the main display. First place pointer over the start of the
clip then press and hold <LMB> down to anchor the start of the clip.
Moving the pointer will adjust the highlighted area that will be
clipped once you release the mouse button. Moving the pointer above
or below the window borders will initiate paced scrolling if the
section you need to clip is larger than the review buffer window.
7.3 SENDING CLIPBOARD DATA
--------------------------
Terminus provides you with two methods of sending data contained in
the clipboard. The first option, [BUFFER][SEND CLIPBOARD][v], will
send the contents of the clipboard as-is to the serial port.
The other option is [BUFFER][QUOTE CLIPBOARD][V] which uses two
options to format each string of clipped data prior to it being sent.
The first option is {GENERAL}{QUOTE STRING}{Q} which defines a string
of one or more characters that will be prefixed to each string of
clipped data. The other option is {GENERAL}{QUOTE LENGTH}{U} which
controls the total length of the string. Any clipped strings longer
then this length (minus the length of {GENERAL}{QUOTE STRING}{Q}) will
be truncated.
- 33 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
8 USING THE PHONEBOOK
---------------------
A Terminus phonebook file, much like the printed version that is probably
located in a desk drawer or hall closet in your house, contains phone
number entries with the names and addresses of places to call. We have
little use for addresses, but the idea is the same.
The phonebook requester is what you'll be using to load and save different
phonebook files, sort the phonebook, select entries for dialing and for
creating, editing or deleting phonebook entries. This section teaches you
how to do all these operations.
When you first open the phonebook via [PHONEBOOK][DIRECTORY...][z] you are
presented with a rather large requester that has a bordered rectangle
occupying the upper half of the window. The rectangle is the phonebook
entry list box, it can show up to ten entries from the phonebook at any one
time. You can move around a phonebook file that has more than ten entries
by using the scroll bar or up/down gadget pair to the left of the entry
box. The operation of this aspect of the phonebook requester is much like
a file requester. There are also a host of keyboard controls that enable
you to fully operate the phonebook requester as well, they are discussed
below.
{PHONEBOOK}{DISPLAY}{I} controls the way the phonebook requester displays
the phonebook entries, it provides you with three different formats, NAME
COMMENT and DATE as shown below in that order.
ASSSS NNNNNNNNNNNNNNNNNNNNNNNNNNNNN P ################################
ASSSS NNNNNNNNNNNNNNNNNNNNNNN CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
ASSSS NNNNNNNNNNNNNNNNNNNNNNNNNNNNN DD/MM/YY P #######################
where:
A - Autorecord flag.
S - Selection order number.
N - Entry name.
C - Comment.
P - Dial prefix.
# - Phone number.
DD/MM/YY - Last connect date.
8.1 AUTOMATIC SAVING OF PHONEBOOK FILES
---------------------------------------
As the last connect date is saved for each phonebook entry, Terminus
keeps track of the current status of the phonebook in use. If an
entry has been connected to at any time during the current session the
phonebook will be automatically saved prior to loading a new phonebook
or exiting the session.
- 34 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
8.2 LOADING AND SAVING PHONEBOOK FILES
--------------------------------------
{PHONEBOOK}{LOAD PHONEBOOK...}{L} and {PHONEBOOK}{SAVE
PHONEBOOK...}{V} which, as their names suggest, allow you to load or
save a phonebook file. Either one will open the file requester so
that you can select or enter a filename that will be used to load a
phonebook from or save the current contents of the phonebook to. The
text indicator rectangle above the load/save gadget pair shows the
name of the currently loaded phonebook file.
When you load a phonebook file the current entries are deleted first.
If you wish to combine two or more phonebook files together you must
use the AmigaDOS command "Join" or you can use a text editor to
accomplish this as the files are in ASCII format.
8.3 HIGHLIGHTING AND SELECTING ENTRIES
--------------------------------------
Both the keyboard and the mouse can be used to highlight or select
entries. The reverse colored bar is the highlight bar and can be
moved by using the <UP> <DOWN> cursor keys to move it, if you reach
the top or bottom of the entry list the highlight bar will "wrap" to
the other end of the list. To select an entry, position the highlight
bar over the entry you want to select and press <SPACE> or place the
mouse pointer over the entry and click the left mouse button. You can
tell when the entry is selected by the number that will appear to the
left of the entry name.
{PHONEBOOK}{UNSELECT}{U} will deselect all selected entries and update
the entry list to reflect this change.
8.4 SORTING ENTRIES
-------------------
{PHONEBOOK}{SORT ORDER}{S} allows you to select how you would like the
list of entries to be sorted. The first three methods, NAME, NUMBER
and DATE, use the entry name, first phone number or connection date
for sorting, just click on {PHONEBOOK}{SORT}{R} after choosing either
of these two sort order methods. The last method of sorting, SELECT,
requires that you go through the list and select the order in which
you would like the list displayed. After putting them in the order
you choose click on {PHONEBOOK}{SORT}{R} to sort the list in selection
order.
- 35 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
8.5 CREATING AND EDITING ENTRIES
--------------------------------
You can edit an existing entry by placing the highlight bar over the
entry then clicking on {PHONEBOOK}{EDIT...}{E} which then opens the
entry editor requester with the contents of the entry. You can create
a new phonebook entry by either selecting {PHONEBOOK}{ADD...}{A} from
within the phonebook or via [PHONEBOOK][CREATE ENTRY...][K]. Either
method results in the opening of the entry requester with a new entry
titled "New Entry". The serial and transfer settings currently in use
will be copied over to this new entry as well.
At a bare minimum you will need to enter a phone number in
{ENTRY}{PHONE #1}{1}. Enter additional phone numbers in the
subsequent string gadgets. Numbers must be entered in order or the
dialer will cease dialing once it reaches a blank number entry. If
{ENTRY}{PHONE #1}{1} is left blank, the entry will be erased when you
close the requester via {ENTRY}{OK}{O}.
If you have more than one dialing prefix defined you will want to
select the appropriate one in {ENTRY}{PREFIX}{X}.
Next you should change the name of the entry to a meaningful name and
you might also want to add some additional comments in the string
gadget below the name gadget if you desire.
If you wish the dialer to automatically open a capture file for this
entry after it establishes a connection you will want to define a
filename in {ENTRY}{CAP. FILE}{F}. The file will be opened in append
mode without saving the current contents of the review buffer.
The next filename to consider defining is {ENTRY}{SCRIPT}{T}. This is
the entry login script file that the dialer will execute after making
a connection. This script serves a second purpose as well, it is used
to store the function key macros for the entry. You must define a
script filename here in order to access the macros requester via
{ENTRY}{MACROS...}{A}.
If you already have a password for this entry you will want to define
it in {ENTRY}{P/W...}{W}. Otherwise, select the type of password you
want Terminus to generate for you via {ENTRY}{P/W TYPE}{Y}. If you
need a generated password of a specific length or less than the
current value in {ENTRY}{P/W LENGTH}{L} you will need to change that
as well. When you select {ENTRY}{OK}{O} Terminus will generate a
password for you as long as {PHONEBOOK}{P/W...}{P} has been defined.
Please refer to the section below on PASSWORD MAINTENANCE that goes
into detail on the generated passwords that Terminus can provide you
with.
{ENTRY}{SERIAL...}{S} and {ENTRY}{XFER...}{R} will open the
appropriate requester to modify the options for the entry.
{ENTRY}{MACROS...}{A} will open the macros requester, but as mentioned
above, you must have a script filename defined in order to do so.
- 36 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
{ENTRY}{GET DEFINITION...}{G} is used to select a console definition
file that the dialer will load after making a connection. No entry
here will result in Terminus using the current default console
configuration.
{ENTRY}{RESET TIMER}{I} will reset the online timer in the status bar
after the dialer makes a connection.
Set {ENTRY}{CENTS/MIN.}{/} to a non-zero value if you would like to
track how much time is costing you while online. This is not intended
to be an accurate expense accounting feature, just a rough estimate of
what it costs for each connection.
Once you're done configuring an entry you must select {ENTRY}{OK}{O}
in order to save it. Remember though, if {ENTRY}{PHONE #1}{1} is left
blank, the entry will be deleted. If {ENTRY}{CANCEL}{C} is selected,
the entry will be discarded if it was newly created entry. If it was
an existing entry opened for editing, only the changes will be
discarded, the original entry will remain unchanged.
8.6 DELETING ENTRIES
--------------------
{PHONEBOOK}{DELETE}{T} is used to delete the currently highlighted
entry.
8.7 PASSWORD MAINTENANCE
------------------------
Passwords; if you've been telecommunicating for any length of time,
you've most likely experienced that frustrating feeling after the
remote system has rejected what you had hoped was the correct
password. Of course, you've misplaced that scrap of paper or simply
forgotten it, so you're stuck and have to ask the sysop to reset your
password or delete your account so that you can get access to the
system again.
Forgotten and lost passwords have been the bane of modem users for as
long as the need for security arose. There's no doubt of the
protection a password provides, but that doesn't comfort you when you
can't access the system you're calling due to a forgotten password.
Some people tend to respond to this problem by getting into the habit
of using a handful, or even less, of easy-to-remember passwords for
all the systems that they call. Using the same password on more than
one system is definitely an invitation for some miscreant to abuse
your access on those systems and possibly harm your online reputation
in the process. Using a simple password that's easy to remember is
not wise either, if it's easy for you to remember, it's probably easy
for someone to deduce on their own as well.
The best method for keeping your passwords safe is to use unintuitive
sequence of characters, not words, and to use different ones on each
- 37 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
system that you call. However, multiple random sequences of
characters are not easily remembered, your brain (and probably
everyone else on this planet) simply can't remember things that can't
be associated with something else unless a lot of effort is used to
force it in there.
What's more, you should get in the habit of changing passwords every
so often, especially for pay services. The more important the system
is to you, the more often you should change the password used for
access.
For these reasons Terminus has the phonebook, so that you don't lose
passwords. It also provides a convenient, easy-to-use facility to
generate new passwords regularly with random sequences of characters.
All this is accomplished via {PHONEBOOK}{P/W...}{P}. Terminus uses
the password that you enter here as a "seed" in combination with the
name of each phonebook entry to generate a random password for that
entry.
The best way to set up for using this password generation system is to
first build your phonebook of all the systems that you presently call.
After verifying that the current passwords for each entry are correct
you select a master password for this phonebook. The one you use here
can be anything you choose, it's only used as a seed and not as a
password for calling.
Now, as you add new entries to the phonebook or when you choose to
change a password to an existing entry, use {ENTRY}{P/W TYPE}{Y} and
{ENTRY}{P/W LENGTH}{L} to generate a random password. When you select
{ENTRY}{OK}{O} Terminus will generate a new password and then reset
the {ENTRY}{P/W TYPE}{Y} so that the password will remain unchanged
until you repeat this process.
Of course, you have to connect to the system you want to change the
password for before you actually change it. So, log into the system
first using the old password, edit the entry in the phonebook to
change the password, then use whatever commands are necessary for that
system in order to update the password. Use [PHONEBOOK][SEND
PASSWORD][Z] to send the new password to complete the password
changing process.
Don't forget to save the phonebook or you will have to regenerate the
password prior to calling the system the next time. That's the safety
factor the master password provides for you since the same random
sequence will be generated for the same master password and entry
name.
- 38 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
9 USING THE DIALER
------------------
Terminus has an intelligent dialer that you will use to dial one or more
selected phonebook entries. You can start the dialer from several places,
{PHONEBOOK}{DIAL...}{D} can be used after selecting one or more entries, or
you can quick-dial an entry by double-clicking the entry with <LMB> or by
positioning the highlight bar over the desired entry and pressing <RETURN>.
You can restart the dialer by selecting [PHONEBOOK][REDIAL...][r] or you
can use the [PHONEBOOK][DIAL NUMBER...][j] to create a temporary phonebook
entry for single number dialing. After connecting with the system that the
number is associated with you can use [PHONEBOOK][UPDATE ENTRY...][y] or
{PHONEBOOK}{EDIT ENTRY...}{E} to make the entry permanent.
While the dialer is activated via the phonebook requester and menu, it is
controlled by the options that are located within the modem requester. The
dialer will loop through the selected entry list based on the value that
{MODEM}{ATTEMPTS}{T} is set to. Each entry will be tried that number of
times before the dialer exists. The attempt count is reset each time the
dialer is started.
Another dialing control value, {MODEM}{TIMEOUT}{U}, instructs the dialer to
wait that number of seconds for each dialing attempt. If the modem does
not return a response within that period of time the dialer will hangup and
go on to the next entry in the list.
{MODEM}{PACING}{P}, when set to a non-zero value, will insert a delay in
1/100th second increments between each character sent to the modem. This
option is not normally needed, but is present for the few modems out there
that can't handle command strings being sent at the baud rate Terminus is
set to. It sounds a bit strange, but there are modems that simply can't
handle commands that are sent too fast.
The last integer value that controls the operation of the dialer is
{MODEM}{DELAY}{D}. It tells the dialer how many seconds to wait after
dialing the last entry in the select list.
The dialer requester has four gadgets located along the bottom that you can
use during it's operation. The first one, {DIALER}{MONITOR}{M}, will echo
to the screen whatever the modem sends back while dialing. You can use
this option to verify the operation of the dialer if you appear to be
having problems while dialing or if you just like to see what's going on.
{DIALER}{SKIP}{S} will abort the current entry dialing attempt and move
onto the next entry in the select list. {DIALER}{SKIP}{S} can also be used
during the redial delay that occurs at the end of trying each entry in the
list to restart dialing immediately. <SPACE> will also accomplish the same
operation.
- 39 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
{DIALER}{REMOVE}{R} removes the entry currently being dialed from the
select list.
{DIALER}{EXIT}{E} aborts the current dialing attempt and exits the dialer.
Several things occur when the dialer establishes a connection. The first
thing is that it parses the modem CONNECT response to determine the
connected baud rate. {MODEM}{DIALER AUTOBAUD}{B} determines whether or not
Terminus changes it's baud rate to the connect rate. Do not use this
option if you're operating a modem with a fixed baud rate, which is usually
the case with high-speed or error correcting modems. If this is the case
then the connect rate is used only for computing file transfer times with
uploads and downloads. For this reason you should have your modem
configured to return extended CONNECT responses.
The next thing that is done is that the dialer requester is closed and if a
console definition file is defined for this entry it is loaded and
processed. The dialer then brings the main screen or window to the front
of the display if {GENERAL}{SCREEN POPUP}{E} is activated. If the console
definition file processed causes a screen change the new screen will be
opened in the front of the display regardless of the setting of
{GENERAL}{SCREEN POPUP}{E}.
The dialer then opens a capture file if the entry has one defined, it will
close the current capture file if necessary. The capture file will be
opened in append mode so that the current contents of an existing file are
not lost. The contents of the review buffer are not saved to the capture
file.
The last thing the dialer does before turning control of Terminus back over
to you is to check to see if a script file is defined in the entry. If
there is one defined, Terminus will either open it in record mode if the
auto-record flag is set or it will begin executing the script. Please
refer to USING THE SCRIPT RECORDER below for details on the record feature.
Also note that while the dialer can launch an ARexx script if the script
name has a postfix of ".trx", it cannot utilize the script recorder for
generating ARexx scripts.
- 40 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
10 FILE TRANSFERS
-----------------
Terminus provides several built-in file transfer protocols and numerous
options to control the operation of them.
10.1 FILE REQUESTER NOTES
-------------------------
If you previously had used JR-Comm for file transfers you are most
likely familiar with the capability it provided you with for
keyboarding text to the remote system while it's internal file
requester was open. The advantage of this feature is primarily
noticed by floppy based Amiga users, it allows you to "pre-load" the
file requester before starting a remote file transfer operation.
Otherwise, the transfer could time out before the requester was done
reading the disk directory.
Well, nothing has changed in Terminus although it now uses external
file requester libraries to select files for transfer. Terminus will
launch a child process to manage the file requester so that you can
still communicate with the remote system while the file requester is
open.
10.2 ASCII SEND
---------------
Terminus provides you with a very versatile facility for transmitting
ASCII text files to a remote system. Due to the many ways that
different systems need to have the text sent to them, Terminus has
several options that will allow the transfer to complete normally.
To start the ASCII send you use [TRANSFER][ASCII SEND...][i] to open
the file requester for selecting the file you wish to send. Terminus
will then open the stats requester and start transferring the file you
select.
There are two options, {TRANSFER}{CHAR DELAY}{H} and {TRANSFER}{LINE
DELAY}{L}, that you can use to govern the rate at which characters and
lines are sent. If the system that is receiving the file can't accept
the file at full speed you should use either (or both) of these
options to slow it down some.
- 41 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Another option that controls the rate at which characters are sent is
{TRANSFER}{CHAR PACING}{A} which should be used whenever the remote
system can only handle a few characters at a time. This option
accomplishes this by looking for the character to be echoed back
before sending the next character in the file. For this reason, this
option will not work if the remote system does not perform character
echoing.
If you're planning on sending the text to a line editor there are
other things that you might have to watch out for. First, some line
editors will stop accepting input when a blank line is sent. To
prevent this you can activate {TRANSFER}(EXPAND BLANKS}{B} so that
when a blank line is seen it will be expanded to a single blank
character to prevent the remote system from ending input.
The other thing to take into account are line editors that prompt you
for each new line. These editors often will lose data or get confused
if the next line is sent before the remote system has accepted the
last line and output the prompt for the next line. {TRANSFER}{PROMPT
CHAR}{M} allows you to select a decimal value equivalent to the prompt
character, or one of the characters that remains constant for every
prompt in a multi-character prompt.
10.3 RESIDENT PROTOCOLS
-----------------------
All the file transfer protocols in use by Terminus strictly adhere to
the specifications outlined in the various documents that are
available for each protocol. The following is a short description of
the protocols available.
10.3.1 XMODEM
-------------
The grandfather of most every protocol in use by personal
computers today. The XMODEM checksum protocol was created by
Ward Christensen back in 1977. XMODEM, while widely supported,
is not the most efficient or error-proof protocol to use for
transferring data. It is recommended that you use one of the
other protocols below for transferring data when available, only
use XMODEM when no other protocol is present.
10.3.2 XMODEM-CRC
-----------------
The original XMODEM protocol modified with a 16 bit CRC
polynomial for better error detection. Terminus will "step down"
to XMODEM checksum if the sender does not recognize the initial
CRC-16 handshake. As with XMODEM, this protocol is not that
efficient due to the small 128 byte data blocks used to transfer
data.
- 42 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
10.3.3 XMODEM-1K
----------------
A variant of XMODEM-CRC that uses 1024 byte blocks which gives
you higher throughput than the original XMODEM protocol by using
1024 byte data blocks for transmission. Some systems incorrectly
call this YMODEM. As with XMODEM-CRC, Terminus will "step down"
to XMODEM checksum if necessary.
10.3.4 YMODEM
-------------
This is TRUE YMODEM(tm), which is a batch transfer protocol. The
filename, date and file size are transferred in a separate header
block at the beginning of each file that is transferred. This
protocol also preserves the correct file size; the XMODEM and
derivative protocols described above pad characters at the end of
the file. Uploads using this option are restricted to block
lengths of 128 bytes.
10.3.5 YMODEM-1K
----------------
TRUE YMODEM(tm) except that it will force uploads to 1024 byte
blocks. It is recommended that this version be selected except
in cases where the system you are calling will only accept the
smaller 128 byte block of the early versions of YMODEM.
10.3.6 YMODEM-G
---------------
This variation of YMODEM is intended for error correcting modems
and hard-wired connections. Because this protocol does no error
correcting, it can dispense with the need for an acknowledgement
of each transmitted block of data. The file is transferred with
little delay and can achieve the highest throughput of any of the
protocols listed here. If an error is detected, the transfer
will be aborted, hence the need for an error-free connection in
order to use this protocol with confidence.
10.3.7 ZMODEM
-------------
This is one of the newest and most robust protocols available.
It is capable of batch transfers, automatically initiated
downloads, 32 bit CRC error checking, and a unique ability to
resume a transfer that had been partially completed. Terminus
supports one of the most complete implementations of the ZMODEM
protocol as defined by the specification document written by
ZMODEM's author, Chuck Forsberg.
- 43 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
10.4 NOTES ON XPR
-----------------
XPR is not a protocol but a specification for allowing external file
transfer protocol modules to be used with Terminus. Included with the
Terminus distribution are KERMIT and CIS B+ protocol modules, both
have been tested and found operational with Terminus in all respects.
Terminus normally manages the initialization of an XPR module via the
option string variable XPRINIT$. In order to reduce the drudgery of
typing in a default init string for each phonebook entry that uses an
XPR module, you can assign a default environment variable that
Terminus will read from your ENV: directory after selecting the
desired XPR module.
For example, say you wish to use the KERMIT XPR module and would like
to take advantage of the use of an environment variable for it. Using
a text editor, create a file named "xprkermit" that contains the
appropriate init string for that module. You will need to write this
file to your ENV: directory so that Terminus can find it.
Please be aware that the default location for ENV: is the ram disk.
In order to keep the environment string for future use you will need
to copy it over to ENVARC: as well so that it will be reloaded into
ENV: whenever you reboot your system.
Also take note that while Terminus provides an options requester for
setting various internal options for an XPR, the requester and the
options are under the control of the XPR module, not Terminus.
Accordingly, Terminus is also unable to access these values, so it
cannot create init strings or otherwise save these settings for future
use. That is why the XPRINIT$ variable is present as well as the
ability to locate environment variables to preload it with.
Finally, once an XPRINIT$ is initialized it will not be overwritten
unless you select another XPR module first. Select the same module to
effectively reset the XPRINIT$ to the current state of the associated
environment variable.
10.5 NOTES ON FLOW CONTROL
--------------------------
ZMODEM and YMODEM-g are known as full-flow protocols due to their
ability to send data without interruption. For ZMODEM transfers, you
can use either CTS/RTS handshake (hardwire) or you can use XON/XOFF
handshake.
YMODEM-g requires a modem that supports CTS/RTS handshake due to its
need for full 256 byte transparency. YMODEM-g does not have the
ability to correct for errors, so it needs an error-corrected modem or
otherwise error-free connection. Since almost every error-correcting
modem supports CTS/RTS handshaking, this should not be a problem.
- 44 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
10.6 THE STATS REQUESTER
-----------------------
This requester is used during file transfers. It displays several
parameters that detail the status of the transfer and are listed as
follows:
Protocol Displays which protocol is being used for this
file transfer. If an XPR based transfer is in
progress the name of the library being used is
displayed instead.
Path Displays the path where the file is being read
from or written to. The string "<current
directory>" is displayed when no path is present.
Name Name of the file being transferred.
File size Total size in bytes of the file being transferred.
Uploads will always show a value here, downloads
will only show a value when using a protocol that
supports file information transfer, such as YMODEM
and ZMODEM.
Bytes xfer'd Total number of bytes transferred thus far.
% xfer'd Percentage of file transferred. Based on bytes
transferred to bytes left. A display of "0%" is
used when the file size was not known at the start
of the download.
Actual Elapsed transfer time.
Remaining Estimated time remaining to complete transfer.
Based on chars/sec and bytes left. A display of
"--:--:--" is shown if file size was not known at
the start of the download.
Errs/block Error count for the current block being
transferred.
Errs/xfer Error count for the entire transfer.
Chars/sec Computed characters per second for the current
transfer. Based on bytes transferred and elapsed
time.
Status/error Most recent status or error message.
There is also a bargraph located at the bottom of the requester that
shows a graphical representation of the total percentage of the file
transferred. It, like the decimal percentage displayed next to "%
xfer'd" are active only when the file size is known beforehand. All
uploads will show this, but only YMODEM and ZMODEM downloads (or XPR
- 45 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
modules that support file information) have this active since the
name, date and size of the file are sent at the beginning of the
transfer.
- 46 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
11 FUNCTION KEY MACROS
----------------------
Function key macros give you up to 40 strings that can be sent out the
serial port by pressing the function key that the string is assigned to.
The first 10 macros are accessible via <F1> through <F10>. The other 30
are accessed by using the <CTRL>, <ALT> and <SHIFT> key modifiers along
with a function key.
Please be aware that certain emulations appropriate the function keys for
their own use, so less than 40 might be available. The emulations that
affect function key macros are:
TTY/AMIGA - All 40 function key macros are available for your use.
IBM/MONO - When {CONSOLE}{IBM DOORWAY MODE}{Y} or
[MISC][DOORWAY?][H] are active both of these emulations
are unable to use function key macros due to keyboard
remapping for Doorway use.
VT-52/102 - If a macro is not defined for keys <F1> through <F4>
they will send the equivalent PF key that are also
mapped to the top row of keys on numeric keypads for
the A500, A2000 and A3000 keyboards. This is needed
for A600 which has no keypad as well as the A1000
keyboard which does not have these four keys present on
the keypad.
VT-220 - A real VT-220 keyboard contains 20 function keys
labeled F1 through F20. The F1 through F5 keys are
hardcoded to special local functions that are not
duplicated in the Terminus VT-220 emulation. For that
reason, the <F1> through <F5> keys on your keyboard
duplicate the operation described above for the VT-
52/102 emulation.
The remaining function keys, F6 through F20, are
programmable in much the same way Terminus function
keys are in that any programmed text assigned to a key
is transmitted out the serial port when the associated
function key is pressed. They are initially assigned
default strings when the emulation is first initialized
and are reprogrammed via a remote command sequence.
The <F6> through <F10> and <SHIFT><F1> through
<SHIFT><F10> on your keyboard are dedicated to the F6
through F20 function keys. Although you are free to
assign function key macros to these keys please
remember that they can be overwritten by the remote
system and that they are cleared when the emulation is
first initialized.
- 47 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
The <CTRL> and <ALT> modified function keys are free
for your use and are not touched in any way while using
this emulation.
11.1 CHARACTER ESCAPES
----------------------
In addition to the standard character escapes, there are several
special escape sequences that are recognized in a function key macro.
Please refer to ESCAPE SEQUENCES in the SCRIPTS section below for the
description on the standard escape sequences.
!$hex Send a hex character.
!%decimal Character pacing, in decimal 1/100th seconds.
The following escapes result in the termination of the current macro
after the escape has been processed. Anything after the escape will
be ignored.
!=a-z Send global Terminus string variable.
!&filename Launch Terminus script.
!?filename Launch ARexx macro.
!@filename Load a new macros file.
!*filename Load a new phonebook file.
!+scriptline Execute <scriptline> as a one-line script.
!#decimal Chain to macro where decimal equals:
0-9 Function keys 1-10 alone.
10-19 " " " w/CTRL
20-29 " " " w/SHIFT
30-39 " " " w/ALT
Where:
hex - A two digit hexadecimal character, 00 - FF.
decimal - Decimal number.
a-z - Single character, a to z.
filename - Valid AmigaDOS filename, unquoted.
scriptline - Terminus script commands only. Use a ':' to
separate multiple commands.
11.2 USING ONE LINE SCRIPTS
---------------------------
When you use a function key macro as a one line script you are subject
to the same restrictions as ARexx scripts when it comes to command
scope limitations and script variables. Additionally, the following
level 7 script commands are not legal for use from a function key
macro:
ASK INPUT WAIT WHEN
Please refer to the section on scripts below for more details.
- 48 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
12 USING THE SCRIPT RECORDER
---------------------------
There are two methods you can use to start the script recorder, one is
automatic while the other is manual. The manual method requires using
[SCRIPTS][RECORD...][w] to define a script filename that the recorder will
use to write the script commands to. This menu item is checkmarked to
denote when the recorder is active. There is also an indicator "RECORD"
present in the status line as well to further remind you when the recorder
is active.
The automatic method of starting the recorder is where this feature really
shows its power. Although the dialer is what actually starts the recorder,
you have to do two things beforehand in order to get it to work. First is
to define a script file in {ENTRY}{SCRIPT}{T} of the entry you wish to
create a login script for. The second is to select the entry for automatic
recording.
To enable auto-record you must hold down <SHIFT> while selecting or quick-
dialing the entry. You can tell when an entry is selected for auto-record
by the letter "A" in the leftmost column of the phonebook entry list box.
If the entry does not have a script file defined you will not be able to
activate auto-record selection, although the entry will still be selected,
it will be missing the "A" tag.
Of course, you need to start the dialer and have it establish a connection
in order to start the recorder. Again, the message "RECORD" will be
present in the status line.
Now that the recorder is active (with either method), it will begin
recording data as it is received and your responses to them. The recorder
doesn't simply copy everything unchecked, there is a set a rules it uses to
determine how to create the commands in the login file.
Basically, there are two ways that you enter data to a remote system. the
first and most common is to enter something in response to a prompt from
the remote system, for example, the string "Name: " sent from the remote
would most likely be a request for your name, which you would enter after
seeing it. The other is to press a key while data is being received, often
to halt the display of some longish notice that some systems seem to always
show you.
Either way, the recorder will sample the data stream and collect the eight
most recent characters received. If the line is quiet when you first begin
to enter your response the recorder will use those characters as the prompt
string for the script file. It will then collect your input and save it to
the file as a response string.
If the serial port is still receiving data when you press a key it will not
save the last eight characters to the script file, so don't anticipate and
enter your response too soon or the recorded script will not operate
correctly when using it to automate your login.
- 49 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
While the recorder normally waits for a <RETURN> to save your response, it
also has a timer that is reset with each keypress. If it times out, the
current response will be written, this is to accommodate the "hotkey"
feature some systems offer. The timeout value is 1.5 seconds, again, don't
anticipate things while recording or the resulting script may not execute
correctly. If you pause while entering a multi-character response you may
end up with multiple SEND commands in the script, it will not disturb the
operation of the script, but you may want to edit the file to "clean up"
these statements if their presence bothers you.
You should also be aware of the fact that Terminus inserts the escape
sequence "\r" whenever <RETURN> or <ENTER> is pressed. This sequence is
described in the scripts section under escape sequences and will send the
current setting of {CONSOLE}{EOL OUT}{E} instead of a simple C/R that would
be sent if the "^M" sequence was used.
One thing to remember when using the auto-record method of recording is to
use [PHONEBOOK][SEND PASSWORD][Z] to send the password defined in the
phonebook entry. The recorder will then use the SPASSWORD script command
instead of hardcoding the actual password into the script file. So, when
you later update the password for that entry you can still use the login
script without having to edit it first.
When you're done recording, select [SCRIPTS][RECORD][R] to end the
recording process and close the script file.
One final note about recorded scripts. Some systems, mainly BBS', have the
habit of changing the sequence that occurs during a login. This can range
from the omission of a login news file if subsequent logins occur within a
24 hour period, to a completely different login sequence for each day of
the week.
If this is the case you should autorecord as many sessions as it takes to
get all the variations that the remote system throws at you. The next step
is a bit harder however, you'll need to create one or more WHEN statements
that SEND the appropriate response so that the login script can execute
correctly. Basically, anything that is not constant between each different
login sequence should be put into a WHEN statement along with its
appropriate SEND statement. There are 31 WHEN slots, so you should be able
to create a solid login sequence for just about any system out there.
The two examples that follow are portions of recorded scripts that
illustrate this. Notice that the WAIT "re? ^[[0m" and SEND "\r" statements
occur in both scripts, but a different number of hem is present in each
recorded script. This represents the variable "More [Y]/n?" prompt that
the BBS displays after each 24 lines of text. Further, since this example
system only shows a daily news file to a user once in a 24 hour period and
the file itself can vary in length, the number of prompts is not going to
be the same with each login. This pair of statements should be converted
- 50 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
to a WHEN statement so that the login script does not fail. The third
script below shows what the final script for logging in could look like.
The WHEN statement in that script will be able to handle the two types of
logins that can occur.
Also note that there are two WAIT "ue?" and SEND "\r" responses in each
recorded script. The reason that these were not also converted to a
WHEN/SEND sequence is due to the fact that the script completes after the
second one is replied to. If they were changed to a WHEN the script would
not "know" when to finish execution.
This may seem a bit difficult to grasp at the moment, but the only way to
get comfortable with recorded scripts is to begin experimenting. It may
take a few calls to verify that the merged changes work correctly, but once
you've set it up you'll never have to worry about it again. Unless, of
course, the system is changed and "breaks" your login script.
Most sysops who are considerate of the cost of long distance users will try
to not annoy callers by changing things too often or in a way that causes a
login script to fail. Some need a little prodding to realize the impact of
their actions.
/* First recorded script */
WAIT "re? ^[[0m"
SEND "\r"
WAIT "re? ^[[0m"
SEND "\r"
WAIT "re? ^[[0m"
SEND "\r"
WAIT "re? ^[[0m"
SEND "\r"
WAIT "re? ^[[0m"
SEND "\r"
WAIT "es? ^[[0m"
SEND "\r"
WAIT "ue? ^[[0m"
SEND "\r"
WAIT "ue? ^[[0m"
SEND "\r"
END
/* Second recorded script */
WAIT "re? ^[[0m"
SEND "\r"
WAIT "es? ^[[0m"
SEND "\r"
WAIT "ue? ^[[0m"
SEND "\r"
WAIT "ue? ^[[0m"
SEND "\r"
END
- 51 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
/* Final login script */
WHEN 1 "re? ^[[0m" SEND "\r"
WAIT "es? ^[[0m"
SEND "\r"
WAIT "ue? ^[[0m"
SEND "\r"
WAIT "ue? ^[[0m"
SEND "\r"
END
- 52 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
13 REMOTE SHELL OPERATION
-------------------------
Terminus provides you with an integrated remote shell function that is
accessed via the script command REMOTE. What happens is that a DOS handler
named "TRCLIX:" (where X is the session number) is created. If TERMINUS1
is the current session name, then the DOS name would be "TRCLI1:". This
handler is setup to act the same way as the AUX: device works. Unlike AUX:
though, it does not get mounted via the Mount command, nor is it restricted
to the internal serial port. You can have as many different remote shells
as there are sessions running.
When REMOTE is used without any parameters it uses the default AmigaDOS
command "NewCLI" and the name of remote handler to construct the command
"NewCLI TRCLIX:" for AmigaDOS to execute (see the description on the REMOTE
command for details on how to use alternative shells).
While Terminus has an active remote shell it disables script execution as
well as the ability to quiet or change any settings related to the serial
port. You also cannot save or load .def files, do any file transfers or
use function key macros. You can use the capture, review buffer and
clipboard quote/send features though.
You also have local keyboard access to the remote shell via Terminus' main
display so that you can monitor what is going on, or even enter commands
locally.
13.1 CAVEATS OF REMOTE OPERATION
--------------------------------
The following restrictions and notes apply to using the REMOTE script
command, please remember them to prevent any problems or unexpected
surprises to occur.
- Terminus normally inherits the path environment from the CLI that
it was started from. However, this is not the case when Terminus
is started via the Workbench icon. For that reason you will need
to fully qualify any commands that are not located in the current
directory or in C:. You would want to use the FROM command line
option in this case to create a path environment, please refer to
the description of the REMOTE command for details on this.
- Although the remote CLI is compatible with any program that can
be run from the local CLI, there are some programs that require
an Amiga console.device to be used properly. Programs that fit
in this category are "Ed", "More" and "ls". They require the
presence of console.device or a work-alike in order to obtain the
current size of the display they will be output text to.
Terminus, of course, provides an Amiga emulation that enables
these commands to function correctly.
- 53 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Do not confuse that with the local Terminus screen however. The
remote system that is connected to the remote CLI is the one that
needs to be console.device compatible. And while you can operate
the remote CLI from the local session, it does not respond to the
console.device requests, only the remote system can supply those
responses.
- Terminus also monitors the state of the carrier detect (DCD)
signal and will surreptitiously abort the remote CLI if carrier
is lost while the remote CLI is active. This is necessary in
order for control to be returned to the suspended script,
otherwise Terminus will effectively be hung. In order for the
script to be able to determine if the remote CLI terminated
normally there is an integer script variable labeled ABORTREMOTE
which will have a value of 1 if an abort condition exists, 0 is
used for a normal return from the remote CLI.
Be aware that while the remote CLI is terminated, the shell and
any program that it was running is not. All that is done is to
remove the TRCLIX: handler. You should handle the situation by
examining ABORTREMOTE and performing a warm reboot of your system
to prevent other problems from occurring due to the hung shell
that was attached to the remote CLI handler.
- Also be aware of the need to redirect input/output when necessary
for programs that would otherwise open their own window which
would, in effect, hang Terminus as well.
Commands such as the 2.x version of the full screen editor "Ed"
that is supplied with AmigaDOS. It normally opens a Workbench
window, but can be redirected to use the current CLI instead by
using the command line option WINDOW. The following is a simple
script that calls Ed with the proper command line for use with
the remote CLI.
.key file
ed <file> window *
This script is enclosed with the Terminus distribution archive
and is named "Red". If you wish to use this script copy it to
your S: directory.
- 54 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
14 MENUS
--------
Frequently used menu items in Terminus have keyboard equivalents so that
you can use them without having to move from the keyboard to the mouse if
you don't want to. The keyboard equivalents are case sensitive, so they
might take some getting used to if you are coming to Terminus from JR-Comm.
Items that have an ellipses (a "..." sequence) indicates that the item will
open a requester as part of its execution.
Item names that have a question mark indicate modes which use a checkmark
in the menu item when its associated mode is active.
14.1 PROJECT MENU
-----------------
14.1.1 [PROJECT][LOAD DEFAULTS...]
----------------------------------
This menu item opens the file requester using the pathname
defined in {PATHS}{TERMINUS}{T}, the default filename used is
"terminusX.def", where 'X' is the session number. If you change
the filename it will be remembered as long as the session is
running.
14.1.2 [PROJECT][WRITE DEFAULTS...]
-----------------------------------
Use this item to save the current Terminus settings to a default
file. The path and filename actions are the same as with
[PROJECT][LOAD DEFAULTS...].
NOTE! If you wish to create a global defaults file, use the
name "terminus.def". This file will be loaded into any
Terminus session that does not have it's own defaults
file.
14.1.3 [PROJECT][ICONIFY][I]
----------------------------
Will close the Terminus display and open a small icon window on
the Workbench screen. To exit the iconified state you can either
select the close gadget attached to the icon window or use the
script command SCREENTOFRONT from within an ARexx script. Each
icon window is titled with the session name so that you can
differentiate between multiple sessions that might be iconified
simultaneously.
NOTE! The ICONIFY script variable can be used to accomplish
the same function as this menu item. ARexx scripts can
also uniconify Terminus via the command, SCREENTOFRONT.
- 55 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
CAUTION! Do not iconify an active session as the serial device
is idled as well as the loss of the main display
window. Any file transfer, dialing action or other
operation will be canceled prior to bringing up the
inconify window.
14.1.4 [PROJECT][ABOUT...][?]
-----------------------------
Displays version number, release date and registration/support
information about the version of Terminus you are using.
14.1.5 [PROJECT][QUIT][Q]
-------------------------
Exit Terminus session. If DCD (carrier detect) is present when
you attempt to exit Terminus a requester will be posting asking
you to verify that you truly intend to quit Terminus. If you
answer YES then Terminus will close any open capture file,
disconnect the modem (which will drop carrier as well) and halt
any other operation in progress before exiting the session.
NOTE! This action does not execute a logoff script that may
be assigned to the script variable LOGOFF$ before
finishing.
CAUTION! If DCD is present and you're using any of the many
utilities that immediately respond to a system
requester then you will not be able to exit Terminus
since the requester is never posted. You will need to
drop carrier or set {MODEM}{IGNORE CARRIER DETECT}{R}.
14.2 PHONEBOOK MENU
-------------------
14.2.1 [PHONEBOOK][DIRECTORY...][z]
-----------------------------------
Opens the phonebook requester for adding, editing and deleting
phonebook entries, selecting entries for dialing and other
phonebook related maintenance. You can also open the phonebook
while dialing to add or remove entries from the selection list.
- 56 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
14.2.2 [PHONEBOOK][DIAL NUMBER...][j]
-------------------------------------
This item will ask for a phone number and create a phonebook
entry with the name "Number dial". The dialer will then be
started if it is not already dialing, otherwise the entry will be
added to the end of the selected dialing list.
14.2.3 [PHONEBOOK][REDIAL...][r]
--------------------------------
Restarts the dialer. Nothing occurs if the dialer is already
open or there are no selected entries waiting to be dialed.
14.2.4 [PHONEBOOK][UPDATE ENTRY][y]
-----------------------------------
Copies the current Terminus session to the last entry that the
dialer connected with. If no entry was connected with, or a new
phonebook file was loaded, this function will act the same as
[PHONEBOOK][CREATE ENTRY][Y].
14.2.5 [PHONEBOOK][CREATE ENTRY...][K]
--------------------------------------
Asks for a name that will be used to create a new phonebook entry
using the current settings in effect. This feature is equivalent
to {PHONEBOOK}{ADD...}{A}.
14.2.6 [PHONEBOOK][SEND PASSWORD][Z]
------------------------------------
Transmits the contents of the password for the current phonebook
entry out the serial port. No action occurs if an entry has not
been connected with, or a new phonebook file has been loaded.
14.3 BUFFER MENU
----------------
14.3.1 [BUFFER][REVIEW FROM...][B]
----------------------------------
Activates the review buffer from the last displayed position.
This function will operate the same as [BUFFER][REVIEW AT
END...][b] if the last position has been overwritten by newly
captured data, a file is loaded into the buffer or the review
buffer had not been opened and repositioned previously.
- 57 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
14.3.2 [BUFFER][REVIEW AT END...][b]
------------------------------------
Enters the review buffer at the end of the buffer contents.
14.3.3 [BUFFER][LOAD BUFFER...]
-------------------------------
Use this item to load the review buffer with the contents of the
selected file. Initially set to the current directory when first
opened, any path changes are remembered for the duration of the
session only.
The buffer size may be increased if the file is larger than the
current size. Maximum size is determined by the following
formula:
MaxSize = MIN(2097152, FreeMemory + CurrentBufferSize -
102400)
NewSize = MIN(MaxSize, (FileSize / 800) * 1024)
Basically, the maximum size for the review buffer is computed as
the lesser of two megabytes or total free memory less 100k. The
new size of the buffer is the lesser of the maximum size or the
filesize after taking into account average review buffer overhead
for every 1024 bytes of data.
The value of 224 is used as a conservative average overhead based
on 8 bytes of control information per line of text in the review
buffer and an average length of 20 bytes per line for a total of
40 lines of text for every 800 bytes of data.
{GENERAL}{REVIEW BUFFER SIZE}{R} will be changed to reflect the
new size of the review buffer. If the new size is not large
enough to fit the entire file (or the file data exceeds average
review buffer overhead, ie. less than 20 bytes per line average)
the buffer will contain the end portion of the file that does
fit. Also, the buffer size will not be decreased in size if the
file is smaller than the current buffer size.
14.3.4 [BUFFER][CLEAR BUFFER][C]
--------------------------------
Clears the buffer space.
- 58 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
14.3.5 [BUFFER][QUOTE CLIPBOARD][V]
-----------------------------------
Use this item if you would like to "quote" the contents of the
clipboard. Each text line will be prefixed with the current
quote string defined in {GENERAL}{QUOTE STRING}{Q} and will be
truncated to the length defined by {GENERAL}{QUOTE LENGTH}{U}.
The status line indicator CLIP is displayed while the contents of
the clipboard is being sent.
14.3.6 [BUFFER][SEND CLIPBOARD][v]
----------------------------------
Will send the contents of the clipboard out the serial port
exactly as is.
The status line indicator CLIP is displayed while the contents of
the clipboard is being sent.
14.3.7 [BUFFER][START SEARCH...][e]
-----------------------------------
Prompts for a case insensitive text string to search for in the
review buffer. If the text is located, the review buffer will be
activated if it is not already and then the cursor will be moved
to the start of the matched string.
14.3.8 [BUFFER][START EXACT SEARCH...][E]
-----------------------------------------
Same actions as the item above except that case is sensitive.
14.3.9 [BUFFER][REPEAT SEARCH][f]
---------------------------------
Reexecute the last search operation from current review buffer
cursor position. This menu item is disabled until a search
operation of either type described above has been attempted and
was successful. It will again become disabled once the repeated
search attempt fails or when the review buffer is cleared or
loaded with a new file.
- 59 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
14.4 TRANSFER MENU
------------------
14.4.1 [TRANSFER][UPLOAD...][u]
-------------------------------
Opens the file requester using the pathname defined in
{PATHS}{UPLOADS}{U} to select file(s) for upload using the
currently selected file transfer protocol.
14.4.2 [TRANSFER][ADD UPLOAD...][L]
-----------------------------------
Opens the file requester using the pathname defined in
{PATHS}{UPLOADS}{U} to add one or more files to the current
upload list while an upload is in progress. This item is
disabled when an upload is not in progress or when you're using a
protocol that does not perform batch transfers.
14.4.3 [TRANSFER][DOWNLOAD...][d]
---------------------------------
Either starts a download immediately or opens the file requester
using the pathname defined in {PATHS}{DOWNLOADS}{D} to define a
filename to download to depending on the type of protocol that is
currently selected.
14.4.4 [TRANSFER][ASCII SEND...][i]
-----------------------------------
Opens the file requester using the pathname defined in
{PATHS}{UPLOADS}{U} to send a text file using the current
settings of:
{TRANSFER}{EXPAND BLANKS}{B}
{TRANSFER}{CHAR PACING}{A}
{TRANSFER}{PROMPT CHAR}{M}
{TRANSFER}{LINE DELAY}{L}
{TRANSFER}{CHAR DELAY}{H}
14.4.5 [TRANSFER][OPEN CAPTURE...][O]
-------------------------------------
Opens the file requester using the pathname defined in
{PATHS}{CAPTURE}{P} to open a new capture file, deletes the
contents of a file if it already exists. Does not save the
contents of the review buffer.
The status line indicator CAP is present while the capture file
is open.
- 60 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
14.4.6 [TRANSFER][OPEN W/SAVE...][o]
------------------------------------
Same as [TRANSFER][OPEN CAPTURE...][O] except that the contents
of the review buffer is saved as well.
The status line indicator CAP is present while the capture file
is open.
14.4.7 [TRANSFER][APPEND CAPTURE...][A]
---------------------------------------
Opens the file requester using the pathname defined in
{PATHS}{CAPTURE}{P} to open a capture file in append mode,
creates a new file if one does not already exist. Does not save
the contents of the review buffer.
The status line indicator CAP is present while the capture file
is open.
14.4.8 [TRANSFER][APPEND W/SAVE...][a]
--------------------------------------
Same as [TRANSFER][APPEND CAPTURE...][A] except that the contents
of the review buffer is saved as well.
The status line indicator CAP is present while the capture file
is open.
14.4.9 [TRANSFER][CLOSE CAPTURE][c]
-----------------------------------
Close the currently open capture file.
14.5 SCRIPT MENU
----------------
14.5.1 [SCRIPT][START...][s]
----------------------------
Opens the file requester using the pathname defined in
{PATHS}{SCRIPTS}{S} in order to select and start a script file.
The status line indicator SCRIPT will be displayed while the
script is executing. Two other indicators, WAITING and INPUT are
related to script operation as well.
- 61 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
14.5.2 [SCRIPT][STOP][t]
------------------------
Stop the currently executing script. You can restart a stopped
script via [SCRIPT]RESUME][m].
NOTE! If this operation is performed when an ARexx script is
executing it will return a value of "KILL" as well as a
numeric RC value of RC_FATAL to the ARexx script. You
cannot resume an ARexx script either.
14.5.3 [SCRIPT][RESUME][m]
--------------------------
Resumes execution of a script stopped via [SCRIPT][STOP][t].
NOTE! This operation has no effect on a stopped ARexx script.
14.5.4 [SCRIPT][RECORD...][w]
-----------------------------
Opens the file requester using the pathname defined in
{PATHS}{SCRIPTS}{S} to select a script for record mode. The
status line indicator RECORD is displayed while recording is in
progress.
14.5.5 [SCRIPT][SEND AREXX MACRO...][n]
---------------------------------------
Opens the file requester using the pathname defined in
{PATHS}{REXX}{R} so that you can select an ARexx macro to send to
the ARexx master process for asynchronous execution.
14.5.6 {SCRIPT][ABORT AREXX MACROS][k]
--------------------------------------
Tries to halt any active ARexx macros that were launched by the
current Terminus session.
CAUTION! This function does not return until all macros have
terminated, so make sure that the macros that are
executing are not waiting for an external event,
especially one that Terminus has to respond to.
Otherwise the current session will hang.
- 62 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
14.6 SETTINGS MENU
------------------
14.6.1 [SETTINGS][SERIAL...][1]
-------------------------------
Opens the serial settings requester.
14.6.2 [SETTINGS][TRANSFER...][2]
---------------------------------
Opens the transfer settings requester.
14.6.3 [SETTINGS][MACROS...][3]
-------------------------------
Opens macros the settings requester.
14.6.4 [SETTINGS][PALETTE...][4]
--------------------------------
Opens the palette requester.
14.6.5 [SETTINGS][PATHS...][5]
------------------------------
Opens the paths requester.
14.6.6 [SETTINGS][MODEM...][6]
------------------------------
Opens the modem settings requester.
14.6.7 [SETTINGS][PORT...][7]
-----------------------------
Opens the port settings requester.
14.6.8 [SETTINGS][GENERAL...][8]
--------------------------------
Opens the general settings requester.
14.6.9 [SETTINGS][CONSOLE...][9]
--------------------------------
Opens the console settings requester.
- 63 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
14.7 MISC MENU
--------------
14.7.1 [MISC][RESET TIMER]
--------------------------
Reset the online timer shown in the status line.
14.7.2 [MISC][KILL REMCLI][J]
----------------------------
This menu item is only enabled while a remote CLI is in effect.
It's purpose is to remove the remote CLI handler and to resume
the suspended script that initiated the remote session. The
script variable ABORTREMOTE will also be set to 1 as a result of
this operation.
14.7.3 [MISC][SEND BREAK][g]
----------------------------
Sends a break signal out the serial port. The length of the
break signal is defined in {PORT}{BREAK LENGTH}{B}.
14.7.4 [MISC][HANGUP MODEM][h]
------------------------------
The state of {MODEM}{DTR HANGUP (Z)}{Z} determines which method
Terminus will use to place the modem "on hook". If not active,
Terminus sends the command string defined in {MODEM}{HANGUP
CMD}{H} otherwise it closes the serial device for one full second
in order to drop the DTR signal. Your modem must be able to
react to a change in state of DTR in order for this option to
work.
14.7.5 [MISC][RESET TERMINAL][X]
--------------------------------
Resets the console the default state as defined by the current
console definition file. Also clears the display and resets the
foreground and background pen colors to the default values.
14.7.6 [MISC][CLEAR SCREEN][x]
------------------------------
Clears the console display and positions the cursor to the home
location.
- 64 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
14.7.7 [MISC][PRINT SCREEN][p]
------------------------------
Sends the current text content of the console to the printer.
This function is not operational if printer controller mode is
active when using one of the VT-xx emulations.
14.7.8 [MISC][CHAT?]
--------------------
Toggle chat mode state, active state shown with a checkmark.
This feature can also be controlled from a console definition
file via {CONSOLE}{CHAT MODE}{A}.
14.7.9 [MISC][DOORWAY?][H]
--------------------------
Toggle IBM Doorway mode, active state shown with a checkmark.
This mode is only active when using the IBM Color or Mono
emulations and can be controlled from a console definition file
via {CONSOLE}{IBM DOORWAY MODE}{Y}.
14.7.10 [MISC][PRINTER?][P]
---------------------------
Activate/deactivate printer output for all received text, active
state shown with a checkmark. This function is not operational
if printer controller mode is active while using one of the VT-xx
emulations.
The status line indicator PRT is present while the printer is
open.
14.7.11 [MISC][HEX DISPLAY?]
----------------------------
Activate/deactivate hexadecimal display mode, active state shown
with a checkmark.
14.7.12 [MISC][QUIET SERIAL?]
-----------------------------
Activate/deactivate the serial port. The serial device is not
closed when the port is inactive, only pending read requests are
aborted. The status line indicator QUIET is present when the
port is inactive as well.
- 65 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
15 PHONEBOOK REQUESTER
----------------------
This section details the various gadgets that control the operation of the
phonebook requester. Please refer to the section on using the phonebook
above to learn how to manage phonebook entries and how to activate the
dialer.
15.1 {PHONEBOOK}{LOAD PHONEBOOK...}{L}
--------------------------------------
Opens the file requester using the pathname defined in
{PATHS}{TERMINUS}{T} to load a new phonebook file into Terminus. The
default filename used is "terminusX.phones". Changes to the filename
are only retained during the current session only. The current list
will be flushed first.
15.2 {PHONEBOOK}{SAVE PHONEBOOK...}{V}
--------------------------------------
Opens the file requester and handles the filename in the same manner
as {PHONEBOOK}{LOAD PHONEBOOK...}{L}. Used to save the current
contents of the phonebook to a file.
NOTE! If you want to create a global phonebook use the filename
"terminus.phones". It will be loaded for any session that
does not have it's own phonebook file present.
Also remember that the phonebook is automatically saved at
the end of the session or when a new phonebook is loaded
after connecting with one or more entires. This is needed
so that the last connect date information for each entry can
be updated and saved.
15.3 {PHONEBOOK}{DISPLAY}{I} - {C}:NAME (NAME COMMENT DATE)
----------------------------
This gadget determines how the phonebook entries will be displayed in
the list box.
15.4 {PHONEBOOK}{SORT ORDER}{S} - {C}:NAME (NAME NUMBER DATE SELECT)
-------------------------------
The selected mode determines what item for each phonebook entry will
be used to sort the list when {PHONEBOOK}{SORT}{R} is used. You can
sort the entries in NAME, NUMBER, DATE and SELECT order. While the
first three are self explanatory, the SELECT mode may seem confusing.
When you sort using this mode the entries are sorted based on the
order in which you selected them. Any entries left unselected will be
move to the bottom of the list. If there are no entries selected then
the list will not be touched.
- 66 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
15.5 {PHONEBOOK}{EDIT...}{E}
----------------------------
Selecting this gadget will open the phonebook entry requester for
editing the contents of the highlighted entry.
15.6 {PHONEBOOK}{ADD...}{A}
---------------------------
Click on this gadget when you wish to add a new phonebook entry to the
list. The entry will be initialized to the name "New Entry" and will
inherit the current serial and transfer settings. Be aware that you
must enter at least one phone number in {ENTRY}{PHONE #1}{1} or the
entry will not be added to the phonebook.
NOTE! The entry will be inserted into the phonebook directly below
the currently highlighted entry.
15.7 {PHONEBOOK}{DELETE}{T}
---------------------------
Use this gadget to delete the highlighted entry.
15.8 {PHONEBOOK}{UNSELECT}{U}
-----------------------------
Choose this gadget when you wish to deselect all selected entries.
15.9 {PHONEBOOK}{P/W...}{P}
-------------------------------
This gadget opens a string requester for changing the contents of the
master password. No password is defined by default, if you intend on
using the automated password generation feature you must define a
password here first.
15.10 {PHONEBOOK}{SORT}{R}
-------------------------
This gadget will sort the list based on the mode selected in
{PHONEBOOK}{SORT ORDER}{S}.
15.11 {PHONEBOOK}{DIAL...}{D}
-----------------------------
The dialer will be started if there are any selected entries present
in the phonebook when this gadget is selected. The dialer can also be
started by double-clicking <LMB> on an entry or by highlighting, then
selecting an entry via <RETURN>.
NOTE! Use the <SHIFT> modifier if you want to have the automated
script recorder activated for an entry that you select for
dialing via these last two methods. You must have defined a
script name for an entry beforehand to use this feature.
- 67 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
15.12 KEYBOARD CONTROLS
-----------------------
The following keyboard sequences are recognized in the phonebook
requester of Terminus:
<UP> Moves highlight bar up towards the top of the entry list,
wraps to the last entry in the list if you try to move past
the top entry. The <SHIFT> modifier moves up a page at a
time and the <CTRL> operator moves to the top of the list.
<DOWN> Moves the highlight bar down towards the bottom of the entry
list, wraps to the top of the list when you try to move past
the last entry in the list. The <SHIFT> modifier moves down
a page at a time and the <CTRL> operator moves to the bottom
of the list.
<SPACE> Select/deselect currently highlighted entry. When used with
<SHIFT> selects an entry for auto-recording if a script file
is defined for the entry.
<RETURN> Unselects an already selected entry, otherwise it selects an
entry for dialing, places it at the head of the select list,
closes the phonebook and starts the dialer. Use the <SHIFT>
modifier to activate auto-record if a script file is defined
for the entry.
<LMB> A single-click selects/deselects an entry, a double-click
selects an entry, places it at the head of the select list,
closes the phonebook and starts the dialer. Use the <SHIFT>
modifier to activate auto-record if a script file is defined
for the entry.
- 68 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
16 ENTRY REQUESTER
------------------
This requester is accessed via several methods, categorized as follows:
- Create a new entry with {PHONEBOOK}{ADD...}{A}, or
[PHONEBOOK][CREATE ENTRY...][K].
- Edit an existing entry with {PHONEBOOK}{EDIT...}{E}.
- Update the last dialed entry with [PHONEBOOK][UPDATE
ENTRY...][y]. This option will create a new entry if an entry
isn't present for updating, you have to connect to a system via
the dialer in order for this situation to be in effect.
In all cases, selecting {ENTRY}{CANCEL}{C} will disregard any changes to an
existing entry, new entries will be deleted. Additionally, if a new entry
was created and it does not have a phone number defined in {ENTRY}{PHONE
#}{1} it will not be added to the phonebook even if {ENTRY}{OK}{O} is
selected.
16.1 {ENTRY}{NAME}{E} - {S}: "New Entry" | "Number Dial" (new entries
only)
---------------------
This gadget contains the name of the phonebook entry. Newly created
entries will have the name "New Entry" present. Entries that were
created via [PHONEBOOK][DIAL NUMBER...][j] have the string "Number
Dial" instead. You will want to change this to a meaningful name
prior to exiting the entry requester.
16.2 {ENTRY}{COMMENT}{M} - {S}:
------------------------
The contents of this gadget are not used by Terminus. It is for your
use to put a helpful comment about this entry. You can display
comments via the {PHONEBOOK}{DISPLAY}{I} gadget.
16.3 {ENTRY}{CAP. FILE}{F} - {S}:
--------------------------
Enter a filename here if you would like the dialer to open a capture
file in append mode once a connection has been established. Nothing
happens if the string is left blank.
- 69 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
16.4 {ENTRY}{SCRIPT}{T} - {S}:
-----------------------
The dialer will begin executing (or auto-recording) the script file
defined here when a connection is established. You must enter a
filename here if you plan on having any function key macros loaded
when the dialer makes a connection for this entry. Use
{ENTRY}{MACROS...}{A} to define the function key macros for this entry
after you have entered a filename here.
NOTE! By default Terminus scripts are assumed and are only looked
for in {PATHS}{SCRIPTS}{S}. You can have an ARexx script
launched (but you cannot auto-record one) if the postfix
".trx" is appended to the filename.
16.5 {ENTRY}{GET DEFINITION...}{G}
----------------------------------
This gadget opens up the file requester so that you can select a
console definition file that will be used to reconfigure the console
when the dialer makes a connection.
16.6 {ENTRY}{RESET TIMER}{I} - {F}: TRUE
----------------------------
If this option is TRUE, it will cause the dialer to reset the online
timer after establishing a connection.
16.7 {ENTRY}{CENTS/MIN.}{/} - {I}:0 (0 - 1000)
---------------------------
This gadget defines the increment value used in the online timer to
show connection time as a monetary value. This is not meant to be
audit trail quantity, just a guideline.
16.8 {ENTRY}{PHONE #1}{1} - {S}:
16.9 {ENTRY}{PHONE #2}{2} - {S}:
16.10 {ENTRY}{PHONE #3}{3} - {S}:
16.11 {ENTRY}{PHONE #4}{4} - {S}:
------------------------
These four gadgets are where you place the phonenumber(s) for this
entry. You must place them in increasing order starting with
{ENTRY}{PHONE #1}{1} since the dialer will move to the next entry when
an empty phonenumber string in the current entry being dialed is
encountered.
- 70 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
16.12 {ENTRY}{PREFIX}{X} - {C}:#1 (#1 #2 #3 #4)
-----------------------
This gadget determines which of the four dialing prefixes (see the
MODEM requester description below) the dialer will use when dialing
this entry.
16.13 {ENTRY}{P/W TYPE}{Y} - {C}:FIXED (FIXED ALPHA NUMERIC ALPHANUM)
-------------------------
This gadget is used in conjunction with {PHONEBOOK}{P/W...}{P} and
{ENTRY}{P/W LENGTH}{L} to generate a password. Normally, this gadget
is set to FIXED so that the current entry password remains unchanged.
When you choose to generate a new password, select the type of
password you want Terminus to generate for this entry. You must have
defined a master password via {PHONEBOOK}{P/W...}{P} first in order to
select a password type. To actually generate the password you will
also have to select {ENTRY}{OK}{O} to complete the operation. After
the password has been created this gadget will be reset to FIXED.
16.14 {ENTRY}{P/W LENGTH}{L} - {I}:8 (1 - 20)
---------------------------
The value in this gadget is used in conjunction with {ENTRY}{P/W
TYPE}{Y} for automated password generation.
16.15 {ENTRY}{SERIAL...}{S}
--------------------------
Opens the same serial settings requester described below. The
settings in this requester do not affect the main Terminus serial
settings, just the settings for this phonebook entry.
16.16 {ENTRY}{XFER...}{R}
------------------------
Works the same as {ENTRY}{SERIAL...}{S} gadget described in the
previous paragraph except that this one deals with the transfer
settings.
16.17 {ENTRY}{MACROS...}{A}
---------------------------
This gadget works just like the previous two for macros. As mentioned
in the description for {ENTRY}{SCRIPT}{T}, you must have a script
filename defined before being able to access the macros requester in
order to define macro definitions for this entry.
- 71 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
16.18 {ENTRY}{P/W...}{W}
------------------------
This gadget opens the string requester to update the current password
defined for this entry. You can either enter a password of your own
choice or have Terminus create one for you automatically via
{ENTRY}{P/W TYPE}{Y} and {ENTRY}{P/W LENGTH}{L}. Both are described
above. Remember, in order to generate passwords automatically you
must first define a master password in {PHONEBOOK}{P/W...}{P}.
16.19 {ENTRY}{OK}{O}
-------------------
You must terminate the requester by selecting this gadget if you wish
to save the changes you've made to this entry. Also, the entry will
be deleted if {ENTRY}{PHONE #1}{1} is blank.
16.20 {ENTRY}{CANCEL}{C}
-----------
This gadget will close the requester without updating the entry, all
changes will be lost. As with {ENTRY}{OK}{O} described above, the
entry will be deleted if {ENTRY}{NAME}{E} is equal to "New Entry" and
{ENTRY}{PHONE #1}{1} is blank.
- 72 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
17 SERIAL REQUESTER
-------------------
The serial requester contains settings that control the serial device. The
settings here can be changed at any time (except when dialing or
transferring files) without causing a line disconnect. A separate
requester for the settings (the port requester) require a line disconnect
and are described in a separate section below.
The settings described here can also be controlled via status line gadgets,
please see the section on the status line described above for details on
these gadgets.
17.1 {SERIAL}{BAUD}{B} - {C}:2400 (110 300 600 1200 2400 4800 9600
19200 31250 38400 57600 115200)
----------------------
This gadget selects the baud rate for the serial device. It has
common baud rates of 110 to 115kbaud.
17.2 {SERIAL}{PARITY}{P} - {C}:NONE (NONE EVEN ODD MARK SPACE)
------------------------
This gadget determines the parity used by the serial port.
17.3 {SERIAL}{DUPLEX}{D} - {C}:FULL (FULL HALF ECHO)
------------------------
While not actually a serial device setting, it is located here because
duplex is often thought of as being an integral part of serial I/O.
There are three states that this gadget can have, FULL, which does not
echo keyboarded data to the screen, HALF, which does, and ECHO which
transmits received data back to the remote system.
17.4 {SERIAL}{DATA LENGTH}{L} - {I}:8 (7 - 8)
-----------------------------
There are two values that this gadget can be set to, 7 or 8.
17.5 {SERIAL}{STOP BITS}{S} - {I}:1 (1 - 2)
---------------------------
This gadget also has two values, 1 or 2.
17.6 {SERIAL}{XON/XOFF}{X} - {F}: FALSE
--------------------------
This gadget will activate XON/XOFF (also called software flow control)
when set TRUE.
- 73 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
18 TRANSFER REQUESTER
---------------------
This requester holds all the settings that are related to file transfers.
Terminus has several file transfer protocols built in as well support for
the XPR external protocol library standard.
18.1 {TRANSFER}{EXPAND BLANKS}{B} - {F}: FALSE
---------------------------------
This gadget as well as the next four gadgets deal with ASCII file
transfers. When this gadget is TRUE it will cause Terminus to send a
space character, 0x20, whenever a blank line is encountered. This
option is useful for sending text files to systems that terminate
input when a blank line is entered.
18.2 {TRANSFER}{CHAR PACING}{A} - {F}: FALSE
-------------------------------
This flag option is used with ASCII send when the remote system cannot
handle multiple characters, even when paced by delay with
{TRANSFER}LINE DELAY}{L} or {TRANSFER}{CHAR DELAY}{H}.
This option requires that the remote system is operating in character
echo mode since it waits for the character to be received prior to
sending the next character in the file.
18.3 {TRANSFER}{PROMPT CHAR}{M} - {I}:0 (0 - 255) decimal ASCII
-------------------------------
This gadget, when not zero, will force Terminus to wait for the
reception of this character prior to sending another line of text.
The range is from 0 (disabled) to 255. Please refer to the appendix
at the end of this document for list of ASCII characters in the
standard Amiga ISO font.
This option is normally used when sending text files to systems that
have line oriented editors and can't handle multiple lines being sent.
Selecting the proper character value can be a bit tricky if there are
several characters within the prompt. Keep in mind that Terminus will
not begin searching for the prompt character until after a carriage
return and/or linefeed has been received, this prevents the situation
where the previous line sent contains the prompt character. Try to
use the last character in a multi-character prompt to make sure that
the remote system is prepared to receive the next line of text.
- 74 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
18.4 {TRANSFER}{LINE DELAY}{L} - {I}:0 (0 - 1000) 1/100th second
------------------------------
The value in this gadget determines how many 1/100th's of a second
Terminus will wait before sending the next line of text. This option
is sometimes referred to as "line pacing".
18.5 {TRANSFER}{CHAR DELAY}{H} - {I}:0 (0 - 1000) 1/100th second
------------------------------
As with {TRANSFER}{LINE DELAY}{L}, the value here is also in 1/100th's
of a second and makes Terminus wait that long after sending each
character. It is often referred to as "character pacing" but should
not be confused with {TRANSFER}{CHAR PACING}{A}.
18.6 {TRANSFER}{BINARY TRANSFER}{N} - {F}: TRUE
-----------------------------------
This gadget tells Terminus to send the file "as is". If this option
is not active Terminus will do end-of-line conversion from/to Amiga
text file conventions to/from CR/LF styled end-of-line sequences.
NOTE! During a ZMODEM download this option, when active, will
override the sender's attempt at doing an end-of-line
conversion during the transfer.
18.7 {TRANSFER}{AUTO CHOP D/L}{D} - {F}: FALSE
---------------------------------
This option controls how the last block in an XMODEM file download is
handled. This protocol pads the last block of data to a fixed length
when the remaining data size is less then the required block size.
This causes a problem when receiving executable files since AmigaDOS
will not run them if the padded data is written to the end of the
file. If you plan to download an executable file using this protocol
you must activate this option in order to run the executable after
receiving it.
18.8 {TRANSFER}{SAVE ABORTED}{V} - {F}: TRUE
--------------------------------
The state of this option determines if Terminus will save or delete a
partial file due to an aborted file transfer, whatever the reason. If
the system you're calling is able to do a ZMODEM resume (or with an
XPR protocol that has partial file completion) you should activate
this option so that you do not have restart the transfer from the
beginning again.
NOTE! You cannot do a ZMODEM resume if end-of-line conversion is
in effect since it's not possible as explained above for
{TRANSFER}{BINARY TRANSFER}{N}, ZMODEM resume requires a
file to be received with that mode set TRUE. If the file
was received with that mode FALSE it makes little sense to
save the file if the transfer is aborted.
- 75 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
18.9 {TRANSFER}{RELAXED TIMING}{E} - {F}: TRUE
----------------------------------
Some systems require a bit more leeway when transferring files due to
system delays that cause the transfer timing to exceed protocol
specifications. If you're experiencing a high rate of aborted
transfers you might want to try activating this option to see if it
eliminates the problem.
18.10 {TRANSFER}{PRE-ACK D/L}{K} - {F}: FALSE
--------------------------------
If you're using an error-corrected modem connection (or a direct,
computer-to-computer connection) and don't have YMODEM-g or ZMODEM (or
other streaming protocol) common to each end, you can increase
throughput with an XMODEM or YMODEM file transfer at the expense of
error correction, you'll still have error detection, but the
connection itself has to be reliable since any error will cause the
transfer to abort immediately.
What happens when this option is in effect is that "forward
acknowledgement" takes place, the block is assumed to be received
correctly, so it is ACK'd beforehand. That's also why the error
correction cannot occur, a bad block can't be NAK'd since it was
already ACK'd.
18.11 {TRANSFER}{PROTOCOL}{P} - {C}:XMODEM (XMODEM XMODEM-CRC
XMODEM-1k YMODEM YMODEM-
1k YMODEM-g ZMODEM XPR)
-----------------------------
This gadget selects the desired file transfer protocol for
transferring files. All options except XPR are internal protocols.
An XPR module requires the related gadgets in {TRANSFER}{XPR
LIBRARY...}{Y} to be configured prior to using the module for
transferring files.
18.12 {TRANSFER}{ZMODE}{Z} - {C}: Ignore (IGNORE NEWER/LONGER CRC
APPEND OVERWRITE NEWER
DIFFERENT PROTECT RENAME)
--------------------------
The ZMODE setting determines what is done when a file that is about to
be sent is already present on the receiving system. As each mode
implies, a specific parameter is checked before allowing the file to
be sent, they are detailed as follows:
IGNORE - No check is done, send the file regardless.
NEWER/LONGER - If the date or length of the file is newer or
longer, send the file.
- 76 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
CRC - Performs a CRC check on the file, transfer it is
they differ.
APPEND - Append the file to the existing file.
OVERWRITE - Also called "clobber" mode, overwrites the file
without warning.
NEWER - If the filedate is newer.
DIFFERENT - If the filedate, size or CRC is different.
PROTECT - The opposite of overwrite mode, protects any
existing files on the receiving system.
RENAME - This option only pertains to received files. It's
purpose is for bypassing the query requesters that
Terminus normally posts when a file with the same
name is already present in the download directory.
If this mode is set then an automatic filename
rename operation is done.
18.13 {TRANSFER}{ZWINDOW SIZE}{W} - {I}:0 (0 - 64) 1k blocks
---------------------------------
The ZMODEM protocol is normally a "streaming" protocol, which means
that data is continuously being sent. Although this method often
increases throughput dramatically, it can also cause problems if there
is some part of the connection between systems that cannot handle a
continuous stream of data. In that case a buffer is going to overflow
somewhere and cause data loss.
To prevent this from occurring you can set the size of a "window" that
the ZMODEM protocol will use to regulate the amount of data sent
before requesting an acknowledgement from the receiver before sending
more data. Using this option essentially turns ZMODEM into a
"segmented" protocol much like XMODEM or YMODEM, so use it only when
needed as it can degrade file transfer throughput considerably.
18.14 {TRANSFER}{ZMODEM RESUME}{R} - {F}: FALSE
----------------------------------
If this option is enabled Terminus will attempt a ZMODEM resume if a
file of the same name already exists and is shorter than the file
about to be sent.
NOTE! This option overrides a transfer with end-of-line conversion
- 77 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
18.15 {TRANSFER}{EXTENDED PATHNAMES}{X} - {F}: FALSE
---------------------------------------
This option controls how Terminus handles the filename that is sent
when downloading a file. If you wish to ignore all extended pathname
information in the filename that is received, such as volume and
directory names, disable this gadget. The root filename will be used
and it will be downloaded to the path defined in {PATHS}{DOWNLOADS}{D}
instead. When this option is enabled the complete pathname received
will be used. Terminus will check to make sure that the entire path
exists before beginning the transfer. It will abort the transfer if
the check fails, it does not create directories either, that is your
responsibility.
18.16 {TRANSFER}{AUTO DOWNLOAD}{U} - {F}: TRUE
----------------------------------
The ZMODEM protocol also has the ability to automatically begin a
download when the remote ZMODEM is ready to start sending one or more
files. Enable this option if you wish to have automatic ZMODEM
downloads.
18.17 {TRANSFER}{AUTO D/L CHALLENGE}{G} - {F}: FALSE
---------------------------------------
In order to prevent the possibility of a spurious burst of noise from
fooling Terminus into initiating a ZMODEM download this option enables
logic that will verify if the remote system truly wants to start a
ZMODEM file transfer.
18.18 {TRANSFER}{ESCAPE CTRL CHAR}{T} - {F}: FALSE
-------------------------------------
ZMODEM also is capable of sending binary files through marginally
transparent networks that need to have all control character removed
from the data stream in order to allow the transfer to complete
successfully. This option, when enabled, will cause Terminus to
encode control characters prior to sending them.
NOTE! It is not recommended to use this option unless it is
absolutely necessary since it will severely degrade the
throughput of the transfer.
18.19 {TRANSFER}{USE 32 BIT CRC}{3} - {F}: FALSE
-----------------------------------
When this option is enabled ZMODEM file transfers will use the 32 bit
Cyclic Redundancy Check for error detection. It is about five orders
of magnitude better in detecting errors over the 16 bit CRC that is
used when this option is disabled. Both ends much be able to handle
32 bit CRC or else the transfer will use the 16 bit CRC instead.
- 78 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
18.20 {TRANSFER}{SKIP NOT LOCAL}{S} - {F}: FALSE
-----------------------------------
When this option is enabled it will cause ZMODEM file transfers to
skip any file that does not exist on the system that is supposed to
receive the file.
18.21 {TRANSFER}{XPR LIBRARY...}{Y}
-----------------------------------
Opens the XPR library requester for selecting and/or configuring an
external file transfer protocol module based on the XPR standard.
- 79 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
19 XPR LIBRARY REQUESTER
------------------------
This requester is used to select and configure an XPR file transfer module
for use with Terminus.
19.1 {XPR LIBRARY}{GET LIBRARY...}{G}
-------------------------------------
Opens the file requester in the LIBS: directory using the file match
pattern "xpr#?.library" for selecting an XPR library.
NOTE! Selecting this option will clear the contents of {XPR
LIBRARY}{XPR INIT}{I} and then check for a matching
environment variable located in ENV: that is named the same
as the name of the XPR library that was just selected
(excluding the ".library" extension, of course).
If the environment variable is found, it's contents will be
read into {XPR LIBRARY}{XPR INIT}{I}.
19.2 {XPR LIBRARY}{XPR INIT}{I} - {S}
-------------------------------
This string defines the initialization command string that will be
sent to the XPR module when an XPR protocol file transfer is started.
You may want to use an environment variable for default options, but
the variable must be present prior to selecting the XPR module as this
string is not changed after selecting a module.
19.3 {XPR LIBRARY}{XPR OPTIONS...}{X}
-------------------------------------
This gadget requires that an XPR module has already been selected
first. It calls out to the module, so it must also exist in your
LIBS: directory in order to open the custom options requester from
within the module.
NOTE! This option causes Terminus to cease all internal
multitasking operations while the requester is open since it
is under direct control of the module. Close the options
requester to continue using Terminus.
- 80 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
20 MACROS REQUESTER
-------------------
Terminus has the ability to use the function keys on your Amiga keyboard to
send any text string that you wish. You can also use some special
character escape sequences to launch both Terminus and ARexx scripts when
necessary. With the use of <CTRL>, <ALT> and <SHIFT> as modifiers, you can
have up to 40 function key macros.
Macros are stored in one of two places. The default macros are located
within the session default file, "terminusX.def". All other macros are
stored as part of a script file since the assignment of a macro is done as
a script command. The entry requester handles macros for each entry by
storing them in the login script for the entry (if a script file has been
defined for that entry).
20.1 {MACROS}{F1}{1} - {S}
20.2 {MACROS}{F2}{2} - {S}
20.3 {MACROS}{F3}{3} - {S}
20.4 {MACROS}{F4}{4} - {S}
20.5 {MACROS}{F5}{5} - {S}
20.6 {MACROS}{F6}{6} - {S}
20.7 {MACROS}{F7}{7} - {S}
20.8 {MACROS}{F8}{8} - {S}
20.9 {MACROS}{F9}{9} - {S}
20.10 {MACROS}{F10}{0} - {S}
----------------------
A set of ten gadgets are used to house the macro strings associated
with each function key macro. The string displayed is dependant on
the state of {MACROS}{QUALIFIER}{A}.
20.11 {MACROS}{QUALIFIER}{A} - {C}:NONE (NONE SHIFT ALT CTRL)
---------------------------
This gadget indicates which set of macros are displayed below in the
ten string gadgets. There are four qualifiers, NONE, SHIFT, ALT and
CTRL.
- 81 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
21 PALETTE REQUESTER
--------------------
The palette requester controls the color register values for the screen in
use as well as the default pen colors for the main, review, chat, status
line and for all requesters in Terminus.
21.1 {PALETTE}{SELECT}{L}
-------------------------
This gadget selects the color that can be adjusted or used for
assignment to any of the pen gadgets within the palette requester. To
select a color for use you can either position the mouse pointer over
the desired color and click <LMB> or you can use <L> to select the
next color in the palette array (wrapping back to color 0 when at the
last color). Use <SHIFT> to go in the opposite direction.
21.2 {PALETTE}{ANSI INDEX}{0-7}
-------------------------------
This array of gadgets is used so that the palette color ordering does
not require a 1:1 correlation with the ordering assumed by the ANSI
set graphics rendition (SGR) mode sequence. This allows Terminus to
have pleasant looking, and user configurable requesters and still be
compatible with the color ordering required by SGR.
Each gadget refers to the 8 colors, 0 - 7, that SGR can select. The
colors each gadget is assigned to refer to the physical color
registers in the palette. In order for this to work properly, more
than one index gadget cannot have the same color assigned to it.
Also, use the first 8 colors in an 16 color display as the second set
of colors should only be set to the high intensity version of the
color directly above it.
Selecting an index gadget assigns the currently selected color as
displayed in {PALETTE}{SELECT}{L}. If you have a color assigned to
more than one index register when you close the requester with
{PALETTE}{OK}{O} you will get a query requester notifying you of the
problem.
21.3 {PALETTE}{RED}{Q}
21.4 {PALETTE}{GREEN}{A}
21.5 {PALETTE}{BLUE}{Z}
-----------------------
The slider gadgets set the red, green and blue components for the
currently selected color displayed in {PALETTE}{SELECT}{L}.
- 82 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
21.6 {PALETTE}{TEXT}{T,E,X,8}
21.7 {PALETTE}{BACKGROUND}{G,N,D,9}
21.8 {PALETTE}{CURSOR}{U,R,S}
-----------------------------
These pen gadgets refer to the text, background and cursor colors for
the terminal, review buffer, chat area and status line of the main
display. The gadget will inherit the currently selected color when it
is clicked on.
21.9 {PALETTE}{DETAIL}{I}
-------------------------
The detail pen is used for borders and for informational text in
requesters.
21.10 {PALETTE}{BLOCK}{K}
-------------------------
This pen is used for requester titles.
21.11 {PALETTE}{TEXT}{V}
------------------------
This pen is used for gadget labels and dynamic text information in
requesters.
21.12 {PALETTE}{SHINE}{H}
-------------------------
This pen is used for the highlight color of 3D rectangles.
21.13 {PALETTE}{SHADOW}{W}
--------------------------
This pen is used for the dark color of 3D rectangles.
21.14 {PALETTE}{MENU TEXT}{M}
-----------------------------
This pen is only present when running Terminus under the 3.x (or
later) release of AmigaDOS. It is used for color of menu text.
21.15 {PALETTE}{MENU BACKGROUND}{B}
-----------------------------------
This pen is only present when running Terminus under the 3.x (or
later) release of AmigaDOS. It is used for color of menu background.
- 83 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
22 PATHS REQUESTER
------------------
The paths requester contains all the paths used within Terminus for the
location of files used during a Terminus session.
22.1 {PATHS}{TERMINUS}{T} - {S}: "" | "TERMINUS:"
------------------------------
This is the main pathname used for locating default and phonebook
files. It is set to "" if the "TERMINUS:" logical assignment (or
volume) is not present.
22.2 {PATHS}{UPLOADS}{U} - {S}: "RAM:"
------------------------
Terminus will use this pathname as the initial location for the start
of a ASCII send, file upload or display file. It will be updated if
the path is changed from within the file requester. It is set to
"RAM:" by default.
22.3 {PATHS}{DOWNLOADS}{D} - {S}: "RAM:"
--------------------------
As with uploads, Terminus will do the same for downloads with this
pathname. It is also set to "RAM:" by default.
22.4 {PATHS}{CAPTURE}{P} - {S}: "RAM:"
------------------------
And here too for capture files. It is set to "RAM:" be default as
well.
22.5 {PATHS}{SCRIPTS}{S} - {S}: "" | "TERMINUS:Scripts"
------------------------
This is the default pathname for Terminus scripts. Terminus will
update the path if you change it while loading a script file.
22.6 {PATHS}{PRINTER}{N} - {S}: "PRT:"
------------------------
This pathname defines the device (or filename) that Terminus will use
whenever the print function is enabled. It is set to the AmigaDOS
device "PRT:" as a default. It should be set to a disk file name if
you do not have a printer attached to your Amiga.
- 84 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
22.7 {PATHS}{REXX}{R} - {S}: "REXX:"
---------------------
If the ARexx master process was present when Terminus was invoked this
pathname string gadget will be present. It is set to "REXX:" by
default.
- 85 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
23 MODEM REQUESTER
------------------
The modem requester contains various check options, integer values,
commands and response strings that control the operation of the dialer in
Terminus.
23.1 {MODEM}{INIT CMD}{M} - {S}: "ATZ^M~~~ATE1 Q0 V1 X4^M"
-------------------------
This command is used to initialize the modem when Terminus first
starts. It is only sent to the modem if a startup script is not
found. The default command shown here should work for most Hayes
compatible 2400bps modems. If your modem has nonvolatile ram
(sometimes referred to as NVRAM) to store it's configuration then you
will want to shorten this command to "ATZ^M".
23.2 {MODEM}{HANGUP CMD}{H} - {S}: "~~~+++~~~ATH^M"
---------------------------
This command is sent to the modem to disconnect from an online
connection. The default command is for a Hayes compatible 2400 modem.
If your modem is capable of disconnecting via the lowering of the DTR
signal you would want to use {MODEM}{DTR HANGUP (Z)}{Z} instead.
23.3 {MODEM}{POSTFIX}{S} - {S}: "^M"
------------------------
This string defines the sequence to send to the modem at the end of a
dialing sequence. The default of "^M" is a carriage return.
23.4 {MODEM}{PREFIX #1}{1} - {S}: "ATDT"
23.5 {MODEM}{PREFIX #2}{2} - {S}: "ATDT"
23.6 {MODEM}{PREFIX #3}{3} - {S}: "ATDT"
23.7 {MODEM}{PREFIX #4}{4} - {S}: "ATDT"
--------------------------
These strings allow you to reconfigure your modem prior to dialing an
entry in the event that the system you're calling requires your modem
to be in a non-standard configuration. For example, a real Hayes 2400
modem cannot negotiate the MNP handshake that occurs after the modems
first connect. If your modem is normally set to use MNP and you want
to call a system that has a Hayes 2400 attached you would need to
disable MNP on your end first. You can do that by setting one of the
prefixes here to a command such as "AT&M0DT" which would disable error
correction prior to dialing. You then would set {ENTRY}{PREFIX}{X}
for that entry to the prefix that disables MNP so that you can call
the system with the Hayes modem without any problems.
- 86 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
23.8 {MODEM}{OK}{K} - {S}: "OK"
23.9 {MODEM}{BUSY}{Y} - {S}: "BUSY"
23.10 {MODEM}{RING}{I} - {S}: ""
23.11 {MODEM}{ERROR}{E} - {S}: "ERROR"
23.12 {MODEM}{VOICE}{V} - {S}: "VOICE"
23.13 {MODEM}{CONNECT}{N} - {S}: "CONNECT"
23.14 {MODEM}{NO CARRIER}{A} - {S}: "NO CARRIER"
23.15 {MODEM}{NO DIALTONE}{L} - {S}: "NO DIALTONE"
----------------------------
These response codes are what gives the dialer in Terminus its
intelligence since it will react accordingly depending on which
response the modem sends it while dialing. They are set by default to
the response codes used by a Hayes 2400 modem. The labels for each
response represent the default code that a Hayes Smartmodem 2400 will
return, which is also what each response is set to by default when
Terminus is first run. You may have to change one or more responses
if the modem you have does not return the same exact response code.
For example, US Robotics modems return a "NO DIAL TONE" response
instead of the default of "NO DIALTONE", so it would have to be
changed in order for the dialer to detect this response.
You can disable some of the features within the dialer by deleting or
changing the response string. The ones to be aware of are:
RING - This response code is normally absent. If you
would like the dialer to detect an incoming call
then set this to the appropriate modem RING
response string. Keep in mind that some modems
offer an additional response to detect when the
number dialed has started ringing by using the
string "RINGING". In order to differentiate the
two you should use "RING^M" instead of "RING" so
that it will only react to an incoming call.
VOICE - Some modems are not too effective in determining a
voice call due to noise on the line or low signal
levels. Deleting this string will prevent the
dialer from canceling the call and exiting.
NO CARRIER - Modems normally return this response when the
remote system is not busy but not answering
either. Some modems are not too reliable at
detecting busy signals depending on line
conditions, so the modem will timeout and return
this response when it should have returned "BUSY".
If the dialer detects three of these responses for
an entry it will be removed from the selected list
and no longer dialed until you reselect it from
the phonebook again. Clearing this string will
disable the dialer from doing this to an entry.
- 87 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
NO DIALTONE - The dialer will halt dialing and exit if this
response is returned. Again, deleting this string
will disable this feature.
23.16 {MODEM}{DELAY}{D} - {I}:60 (0 - 600) 1 second
-----------------------
This value determines the number of seconds the dialer will wait
before starting another attempt for each entry in the select list.
23.17 {MODEM}{ATTEMPTS}{T} - {I}:15 (1 - 999)
--------------------------
This is set to the number of dialing attempts for each entry you would
like the dialer to try before giving up.
23.18 {MODEM}{TIMEOUT}{U} - {I}:30 (0 - 300) 1 second
-------------------------
This value sets the timeout in seconds after a dialing attempt is
started. It should be set to a longer value that the modem itself
uses for a timeout as a safeguard for modems that have trouble (or are
unable) to detect a busy signal.
23.19 {MODEM}{PACING}{P} - {I}:0 (0 - 100) 1/100th second
------------------------
This sets the character pacing value to wait between each character
being sent to the modem. This is used for modems that cannot handle a
command being sent at the full baud rate that Terminus is set to.
23.20 {MODEM}{IGNORE NO CARRIER}{G} - {F}: FALSE
-----------------------------------
Set this option if your modem is unable or not reliably detecting a
busy signal. Normally, the dialer will deselect a phone entry if
three NO CARRIER responses are returned during dialing.
23.21 {MODEM}{IGNORE CARRIER DETECT}{R} - {F}: FALSE
---------------------------------------
Set this option if your modem does not properly control the DCD line.
You will not be able to transfer files or dial depending on the state
of the DCD line and it isn't functional.
- 88 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
23.22 {MODEM}{HANGUP ON EXIT}{J} - {F}: TRUE
--------------------------------
This option will hangup the modem when the dialer exits after a user
abort or when the attempt count is reached. This is used to ensure
that the modem is not off-hook. The method used to hang the modem up
depends on the state of {MODEM}{DTR HANGUP (Z)}{Z}.
23.23 {MODEM}{DTR HANGUP}{Z} - {F}: FALSE
----------------------------
Set this option if your modem is able to disconnect (go on-hook) when
the DTR line is dropped.
23.24 {MODEM}{FLUSH WITH A BREAK}{W} - {F}: FALSE
------------------------------------
This option will flush the serial port buffers when a break signal is
sent. This option helps reduce error recovery time when using
streaming protocols such as ZMODEM with buffered, error correcting
modems.
23.25 {MODEM}{DIALER AUTOBAUD}{B} - {F}: FALSE
---------------------------------
This option controls the dialer automatic baud rate adjustment
feature. If you're not using an error-corrected modem you should set
this option so that the dialer can change the baud rate in Terminus
when a CONNECT xxxx string is received. Your modem must follow the
Hayes standard for extended CONNECT responses in that a numeric value
must follow the CONNECT string that indicates the connected baud rate
that the modem has set to. The default string CONNECT by itself is
assumed to be 300 baud with that standard, if your modem does work in
this fashion you must disable this option.
- 89 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
24 PORT REQUESTER
-----------------
The port requester is used to define the serial device to be used by
Terminus. Any changes here will not be put in effect if tried during a
dialing or file transfer operation.
24.1 {PORT}{DEVICE NAME}{D} - {S}: "serial.device"
---------------------------
Enter the name of the serial device you wish to use here. It is case
sensitive, you must enter the name of the device as it exists in your
DEVS: directory.
24.2 {PORT}{UNIT NUMBER}{U} - {I}:0 (0 - 1000)
---------------------------
Set the unit number for the serial device here.
24.3 {PORT}{BREAK LENGTH}{B} - {I}:250 (0 - 1000) 1/1000th second
----------------------------
This gadget determines the length of the break signal that the serial
device will send when required.
24.4 {PORT}{CTS/RTS}{T} - {F}: FALSE
-----------------------
Set this option if you wish to use CTS/RTS handshaking.
24.5 {PORT}{PORT QUIET}{P} - {F}: FALSE
--------------------------
Set this option if you want Terminus to start with the serial device
quiet or to release its use of the device during the session.
24.6 {PORT}{IGNORE ODU}{I} - {F}: FALSE
--------------------------
This option, when enabled, ignores the presence of the
OwnDevUnit.library. Normally, when that library is present Terminus
will arbitrate access to the serial port defined in {PORT}{DEVICE
NAME}{D} and {PORT}{UNIT NUMBER}{U} via this library. But, when this
option is enabled it will ignore this arbitration sequence.
- 90 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
25 GENERAL REQUESTER
--------------------
The general requester contains options that are global to the operation of
Terminus.
25.1 {GENERAL}{CHAT HISTORY}{H} - {I}:50 (10 - 100)
-------------------------------
This value sets the number of lines in the chat history buffer.
25.2 {GENERAL}{CHAT LINES}{T} - {I}:3 (2 - 100)
-----------------------------
This sets the number of lines used in the chat area.
25.3 {GENERAL}{REVIEW BUFFER SIZE}{R} - {I}:16 (16 - 1000) 1k block
-------------------------------------
Sets the size in kilobytes (1024) that are allocated to the review
buffer.
25.4 {GENERAL}{REVIEW LINES}{W} - {I}:12 (2 - 100)
-------------------------------
Sets the number of lines in the review buffer requester. It defaults
to one half of the display size and has a minimum value of 2.
25.5 {GENERAL}{XFER BUFFER SIZE}{F} - {I}:8 (1 - 32) 1k block
-----------------------------------
Sets the size in kilobytes (1024) of the file transfer buffer. The
actual allocation will be twice this value for the double buffered
ZMODEM or YMODEM-g transfer.
25.6 {GENERAL}{GMT OFFSET}{G} - {I}:13 (-12 - 13)
-----------------------------
This value is used with ZMODEM protocols to adjust the datestamp of a
transferred file to the local timezone. Set this value to the number
of hours ahead (positive) or behind (negative) of Greenwich MeanTime.
A value of 13, which is the default, disables the GMT offset option.
25.7 {GENERAL}{TASK PRIORITY}{P} - {I}:0 (-20 - 15)
--------------------------------
Set this value to the task priority you wish to have Terminus run at.
You should normally leave this value at its default value of 0 first
and only adjust it if the operation of Terminus requires it to prevent
data loss.
- 91 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
25.8 {GENERAL}{QUOTE LENGTH}{U} - {I}:75 (2 - 400)
-------------------------------
This value determines the length of each quoted string sent, subtract
the length of {GENERAL}{QUOTE STRING}{Q} to figure out how long the
actual quoted text is. Longer strings are truncated, not wrapped.
25.9 {GENERAL}{QUOTE STRING}{Q} - {S}: ">"
-------------------------------
This string is prefixed to each quoted line that is sent by the quote
function.
25.10 {GENERAL}{24 HOUR CLOCK}{2} - {F}: FALSE
---------------------------------
This option will display a 24 hour (also called military time) clock
in the status line instead of the default 12 hour, am/pm clock.
25.11 {GENERAL}{AUDIBLE BEEP}{A} - {F}: FALSE
--------------------------------
This option controls Terminus' beep function. Normally, a beep is
done on the Amiga by flashing the screen. When this option is active
an audible beep is done instead. This option also controls the
handling of a received BEL (^G) character as well.
25.12 {GENERAL}{LOGFILE ACTIVE}{L} - {F}: FALSE
----------------------------------
When this option is active Terminus will record certain actions to the
file "terminusX.log" in the TERMINUS path. The 'X' refers to the
session number.
25.13 {GENERAL}{MAKE ICONS}{N} - {F}: TRUE
------------------------------
This option controls the creation of file icons for downloads and
capture files.
25.14 {GENERAL}{SCREEN POPUP}{E} - {F}: TRUE
--------------------------------
Set this option when you want Terminus to pop to the front after the
dialer has made a connection or when a file transfer completes.
- 92 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
25.15 {GENERAL}{FILE SAVER}{V} - {F}: FALSE
------------------------------
Set this option if you wish to have Terminus to close a file as each
block of data is written to disk. This prevents a system failure from
causing the file length to be set to zero, which means that the file
was lost.
25.16 {GENERAL}{DISK SPACE CHECK}{D} - {F}: FALSE
------------------------------------
Set this option if you want Terminus to check the free space on a disk
prior to starting a download. Do not set this option if the
destination volume/device for the file does not show free space such
as the ram disk.
25.17 {GENERAL}{SLOW DISK I/O}{K} - {F}: FALSE
---------------------------------
This option should only be set when using a programmed I/O or DMA hard
disk controller that is causing the serial port to lose data whenever
a disk write is performed while data is being received. If your
controller is a DMA device you might want to try using {GENERAL}{512
BYTE DISK I/O}{5} first to see if that cures the problem as this
option affects the throughput of a file transfer considerably.
25.18 {GENERAL}{512 BYTE DISK I/O}{5} - {F}: FALSE
-------------------------------------
Set this option if downloads cause data loss everytime the block is
written to disk. When active, this option breaks up the write to
multiples of 512 bytes. If you're using a programmed I/O hard disk
controller you will probably have to use {GENERAL}{SLOW DISK I/O}{K}
instead. This option is primarily for use with DMA controllers.
25.19 {GENERAL}{CHIP RAM SAVER}{I} - {F}: FALSE
----------------------------------
Set this option if you want Terminus to minimize its use of chip ram.
It will cause requester rendering to be quite slow, but will allow you
to use Terminus on Amigas that have very little system ram.
25.20 {GENERAL}{DATE FORMAT}{M} - {C}:MM/DD/YY (MM/DD/YY DD-MM-YY
DD.MM.YY)
-------------------------------
This gadget determines the date format style used in the phonebook and
logfile.
- 93 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
26 CONSOLE REQUESTER
--------------------
The console requester contains the options used to configure the operation
of the terminal emulations in Terminus. It also allows you to save a
configuration to a console definition file so that you can easily switch
between the different configurations needed.
26.1 {CONSOLE}{EMULATION}{U} - {C}:AMIGA (TTY AMIGA COLOR MONO
VT52 VT102 VT220)
----------------------------
This gadget sets the terminal emulation. You should start a new
console configuration by selecting the emulation first as each
emulation setting will change one or more of the other options in the
console requester as a consequence.
Everytime you select this gadget Terminus will reset the console
definition name to "default.con". If you were to save the defaults
via [PROJECT][SAVE DEFAULTS...] then the current console settings here
will be written to default.con as well.
26.2 {CONSOLE}{PALETTE}{P} - {C}:WORKBENCH (WORKBENCH COLOR MONO
CUSTOM)
--------------------------
This gadget sets the palette to be used with the current emulation.
The custom palette should be used for your purposes while leaving the
others as-is for use with the emulations that they are associated
with.
26.3 {CONSOLE}{SCREEN}{S} - {C}:WORKBENCH (WORKBENCH "2 COLOR" "4
COLOR" "8 COLOR" "16
COLOR" "32 COLOR")
-------------------------
Sets the type of screen to use, Workbench or a 2, 4, 8, 16 or 32 (when
used with the AGA chipset in COLOR emulation) color custom screen.
NOTE! Refer to the discussion above on palette types and their
association with screen depth.
26.4 {CONSOLE}{ROWS}{R} - {I}:24 (24 - 400)
-----------------------
Sets the number of rows to use, Terminus will attempt to open a
display with a height that can hold this value otherwise the maximum
possible size will be used.
- 94 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
26.5 {CONSOLE}{COLS}{L} - {I}:80 (40 - 400)
-----------------------
Sets the number of columns to use and attempts to use in the same
manner that {CONSOLE}{ROWS}{R} is handled.
26.6 {CONSOLE}{PRESCROLL (0)}{0} - {I}: 0 (0 - 12)
--------------------------------
Sets the maximum number of lines to scroll up once the cursor reaches
the bottom of the screen based on the contents of the incoming data
buffer. This option can help increase throughput when using 8 or 16
color screens with fast modems.
26.7 {CONSOLE}{INTERLACE (1)}{1} - {F}: FALSE
--------------------------------
Set this option if you wish to use an interlaced screen.
26.8 {CONSOLE}{STATUS LINE (2)}{2} - {F}: TRUE
----------------------------------
When set, provides a status line in the main display. The location of
the line is determined by {CONSOLE}{TITLE STATUS}{4}.
26.9 {CONSOLE}{TITLE BAR (3)}{3} - {F}: FALSE
--------------------------------
This option is only available when using a custom screen that does not
have {CONSOLE}{PUBLIC SCREEN (5)}{5} set with it. When active, this
option gives the screen a tile bar with system depth and drag gadgets.
26.10 {CONSOLE}{TITLE STATUS (4)}{4} - {F}: TRUE
------------------------------------
When this option is active Terminus will place its status line in the
title bar of windowed displays or custom screens if {CONSOLE}{TITLE
BAR (3)}{3} is set.
26.11 {CONSOLE}{PUBLIC SCREEN}{5} - {F}: FALSE
---------------------------------
This option will enable public screens for use with the 2.0 (or later)
release of AmigaDOS. It has no effect when running under the 1.3
operating system release.
26.12 {CONSOLE}{KEYMAP}{K} - {S}:
--------------------------
This gadget defines the keymap to use, if one is not defined the
default keymap in use will be used instead.
- 95 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
26.13 {CONSOLE}{CR XLATE}{X} - {C}:LEAVE (LEAVE ADDLF STRIP)
----------------------------
This gadget selects the type of carriage return translation to use.
26.14 {CONSOLE}{LF XLATE}{T} - {C}:LEAVE (LEAVE ADDCR STRIP)
----------------------------
Like {CONSOLE}{CR XLATE}{X}, this gadget selects linefeed translation
to use.
26.15 {CONSOLE}{EOL OUT}{E} - {C}:CR (CR LF CRLF)
---------------------------
This gadget sets what Terminus will send when <RETURN> or <ENTER> is
pressed. It also determines what the "\r" escape sequence sends.
26.16 {CONSOLE}{GET DEFINITION...}{G}
-------------------------------------
This gadget will open the file requester in the directory defined in
{PATH}{TERMINUS}{T} for loading a console definition file.
26.17 {CONSOLE}{SAVE DEFINITION...}{V}
--------------------------------------
This gadget opens the file requester in the directory defined in
{PATH}{TERMINUS}{T} to save the current settings in the console
requester to a console definition file.
26.18 {CONSOLE}{SELECT NEW FONT...}{F}
--------------------------------------
This gadget opens the asl or req requester (or one that replaces the
operation of either of these requesters) in font selection mode.
26.19 {CONSOLE}{VT-XX OPTIONS...}{N}
------------------------------------
This gadget opens the VTOptions requester for use with VTxx
emulations.
26.20 {CONSOLE}{STRIP HIGH BIT}{B} - {F}: FALSE
----------------------------------
Set this option if you want the 8th bit to be stripped from all
incoming characters.
- 96 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
26.21 {CONSOLE}{MOUSE PACING}{I} - {F}: FALSE
--------------------------------
This option, when active, causes Terminus to pace ANSI mouse movement
sequences. It should be used when connected with systems that cannot
handle large amounts of input sent at once.
26.22 {CONSOLE}{DESTRUCTIVE BACKSPACE}{D} - {F}: FALSE
-----------------------------------------
If the system you're connected to does not delete characters that you
backspace over, or you wish Terminus to always delete them, set this
option.
26.23 {CONSOLE}{SMOOTH SCROLL}{M} - {F}: FALSE
---------------------------------
This option controls smooth scrolling. Be aware that smooth scrolling
requires a lot more time to perform each scroll operation than jump
scrolling does. Using a high speed modem with this option in effect
can cause data loss and will slow down the total throughput of the
console display.
26.24 {CONSOLE}{AUTOWRAP MODE}{W} - {F}: TRUE
---------------------------------
This option will cause Terminus to wrap lines that are longer than the
current display size. Characters will be overwritten at the extreme
right column otherwise.
26.25 {CONSOLE}{CHAT MODE}{A} - {F}: FALSE
-----------------------------
Enables chat mode when set.
26.26 {CONSOLE}{IBM DOORWAY MODE}{Y} - {F}: FALSE
------------------------------------
This option can only be used with the COLOR or MONO emulations.
Doorway is a program for IBM PC and compatible machines that enables
complete remote operation of the system via modem. This mode will
reconfigure the Amiga keyboard to emulate the action of an IBM or
compatible keyboard for use with the Doorway program and therefor
ignores the setting of {CONSOLE}{KEYMAP}{K}.
- 97 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
26.27 {CONSOLE}{CURSOR POS.}{6} - {F}: TRUE
-------------------------------
This option enables the status line cursor position indicator. You
need to have {CONSOLE}{STATUS LINE (2)}{2} active in order to see the
indicator. It is displayed as XXX,YYY where X is the column and Y is
the row for the current cursor position. This option also reduces
throughput by a fair amount due to the extra processing required to
display and update the indicator each time the cursor moves.
26.28 {CONSOLE}{CURSOR BLINK}{7} - {F}: FALSE
--------------------------------
Setting this option will cause the Terminus cursor to blink.
26.29 {CONSOLE}{FAST CURSOR}{8} - {F}: FALSE
------------------------------
This option enables the use of a hardware sprite cursor which
increases text throughput somewhat over the default rendered block
cursor. It is not available for use on the Workbench screen, only on
custom screens that do not have {CONSOLE}{PUBLIC SCREEN (5)}{5} set.
26.30 {CONSOLE}{RAW CAPTURE}{9} - {F}: FALSE
-------------------------------
When this option is set it will cause Terminus to capture all data as
received from the serial port instead of using the data in the review
buffer for capture.
- 98 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
27 VTOPTIONS REQUESTER
----------------------
This requester contains options that are specific to VT terminal
emulations.
27.1 {VTOPTIONS}{DISPLAY CTRLS}{Y} - {F}: FALSE
----------------------------------
This option will set the display control codes mode of the display.
Instead of processing DEC private, ANSI and ASCII characters and
sequences, they are displayed to the console. The font TERMDDC80/132
should be present to utilize this feature as intended. This option is
available only in VT-220 emulation.
27.2 {VTOPTIONS}{7 BIT MODE}{7} - {F}: TRUE
-------------------------------
The VT220 emulation can send some sequences via 8 bit characters or
via 7 bit characters. The setting of this option controls which
method to use when sending these sequences. It is set TRUE
automatically for VT-52 and VT-102 when you close the requester.
27.3 {VTOPTIONS}{132 COLUMNS}{1} - {F}: FALSE
--------------------------------
Set this option if you would like Terminus to use 132 column mode
instead of 80 column mode with any of the VT emulations. You must
have the TERMISO132.font or TERMDDC132.font present in order to use
it.
27.4 {VTOPTIONS}{LIGHT BACKGROUND}{L} - {F}: FALSE
-------------------------------------
This option controls the reverse video mode for the VT emulations.
27.5 {VTOPTIONS}{NEWLINE MODE}{N} - {F}: FALSE
---------------------------------
Sets newline mode. This mode overrides the use of {CONSOLE}{CR
XLATE}{X}, {CONSOLE}{LF XLATE}{T} and {CONSOLE}{EOL OUT}{E} when any
of the VT emulations are being used.
27.6 {VTOPTIONS}{KEYPAD MODE}{K} - {F}: FALSE
--------------------------------
Sets keypad mode.
- 99 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
27.7 {VTOPTIONS}{CURSOR MODE}{U} - {F}: FALSE
--------------------------------
Sets cursor mode.
27.8 {VTOPTIONS}{SWAP BS/DEL}{S} - {F}: FALSE
--------------------------------
When this option is set the operation of <BS> and <DEL> are reversed.
27.9 {VTOPTIONS}{AUTO KEY REPEAT}{T} - {F}: TRUE
------------------------------------
Enables or disables keyboard repeat.
27.10 {VTOPTIONS}{CHARACTER SET}{H} - {C}:ASCII (ASCII BRITISH
FLEMISH FRCAN DANISH
FINNISH GERMAN DUTCH
ITALIAN SWISSFR
SWISSGRM SWEDISH
NORWEGIAN FRBELGIAN
SPANISH)
-----------------------------------
Selects which National Replacement Character set to use for VT220.
27.11 {VTOPTIONS}{DA RESPONSE}{D} - {C}:VT102 (VT100 VT101 VT102
VT220)
---------------------------------
Selects the response that Terminus will send when a DA sequence is
received.
27.12 {VTOPTIONS}{ANSWERBACK MSG}{A} - {S}
------------------------------------
Sets the string that Terminus will send in response to an ENQ
character.
- 100 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
28 TERMINUS SCRIPT LANGUAGE
---------------------------
Terminus comes with a comprehensive, easy to use script language based on a
small BASIC interpreter, the major points of the language are:
- Over 80 script commands and 200 option variables.
- Unlimited number of 32 bit integer and 255 character length string
variables available.
- Unlimited parenthesis nesting.
- A full compliment of logical, numerical and string operators.
- Unlimited nesting of GOSUB, FOR, REPEAT and WHILE commands as well as
CALLed scripts that can return to the caller script when finished.
- Can monitor for mouse button presses, loss of carrier, script timeout
and up to 32 simultaneous text strings for automated execution
control.
- Up to 6 separate files can be open for input or output to read or
write variables to sequential access files.
- Special REMOTE command that connects an AmigaDOS CLI or shell of your
choice to the serial port for remote control of your system.
- Automated record mode so that you can create login scripts easily.
28.1 SCRIPTS OVERVIEW
---------------------
Scripts are special purpose programs that automate the operation of
Terminus. These programs can be as simple as instructing Terminus to
log into your favorite online system or as complex as automating a
series of unattended sessions, transmitting and collecting new email,
messages and files along the way.
Although advanced users might seem "put off" by the decision to design
the script language using a BASIC syntax, it should be noted that the
audience of users that telecommunicate is much broader than those who
are acquainted with the ofttimes arcane art of programming, especially
with languages that can be quite hard to learn, such as 'C'. For the
casual user it is paramount that the application shouldn't get in the
way of accomplishing whatever task that needs to get done. If for
this reason alone, the choice of a BASIC syntax for an internal script
language is clear.
Of course, to maintain the spirit of the Amiga, Terminus is fully
accessible via ARexx scripts. Almost every internal script command,
save for script execution/control related commands, is available to an
ARexx script.
- 101 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
28.2 RUNNING SCRIPTS
--------------------
There are two methods of starting a script file, manually and
automatically. The automatic method is accomplished via the startup
script or by a login script when the dialer establishes a connection.
Please refer to the sections on those two functions for more details,
only manually started scripts will be discussed here.
The menu item [SCRIPTS][START...][s] is used to launch a script. The
file requester will be opened in the path defined by
{PATHS}{SCRIPTS}{S}. Select a script from there and Terminus will
begin executing it. If you have installed Terminus as instructed
there will be a file named "ScriptDemo.scp" which gives you a menu of
demos that illustrate the various script commands and functions
present in the Terminus script language.
Please be aware that Terminus might take a little time to load the
script before starting execution of it. This is due some
preprocessing that is done to the script as it is loaded. In
particular, the position of script labels is determined for fast GOTO
and GOSUB execution and syntax checking is done for IF/ELSE/ENDIF
nesting so that unexpected script execution is minimized. Other
syntax checking is performed during the execution of the script.
28.3 OPTIONS AND COMMANDS
-------------------------
There are basically two types of script commands, option variables for
the various user settings that control Terminus and script commands
that control the operation of scripts and modify script variables.
An example of an option variable is PROTOCOL, like its gadget
counterpart, {TRANSFER}{PROTOCOL}{P}, it deals with setting the
current file transfer protocol that Terminus will use if a download or
upload is invoked.
Note that not all option variables are the exact same as the gadget
label in the requester. Options are made up of one word, called a
"keyword" which are unique when compared to other keywords, this is so
that Terminus can recognize which option you're referring to. For
example, PEPWTYPE is the option variable that is the same as
{ENTRY}{P/W TYPE}{Y}. The names are close, but certainly not exact.
Don't worry though, most option names are quite identifiable with
their gadget counterparts.
Script commands are comprised of two types of commands, functions and
statements. A function is a command that returns a value, so you can
assign a script or option variable the results of a function.
Statements are commands that don't return a value, instead, they
perform an operation of some sort, like starting a file download or
posting some text to the screen.
- 102 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
28.4 SCRIPT FILE TYPES
----------------------
All files that Terminus uses for itself are actually script files.
Each file has a specific purpose and as such, a certain subset of
commands that are legal for use within that file. This concept of
limited use is called "scope". If a command is used where it
shouldn't be it is said to be used outside of its scope.
Terminus uses a method called "default optimization" for reading and
writing these files. Simply stated, each setting is compared with the
internal defaults to determine whether or not it should be written to
the file. This process results in files that are almost always
smaller than writing the entire set of settings.
The benefit of writing files this way is realized when it is read by
Terminus, it takes much less time to process the file since the only
settings in the file are those that are not set to the internal
default value. Doing it this way is a great help for phonebook files
which would get quite large otherwise.
28.4.1 .def - Defaults file
---------------------------
Terminus will reset all settings to internal defaults prior to
loading a defaults file. The startup filename "terminusX.def"
(where 'X' is the session number) will be searched for on session
startup. The current directory is searched for initially, then
in the main path TERMINUS:, if present. Internal defaults will
be used if the file cannot be located.
28.4.2 .phone - Phonebook file
------------------------------
The current phonebook will be cleared prior to loading a new
phonebook file. The file "terminusX.phones" will be searched for
in the current directory then scripts path.
Phonebook processing is a special case in Terminus. The entire
phonebook is not read into memory prior to execution since there
is the possibility that a phonebook file can grow quite large.
Instead, it is read and processed one line at a time so that
memory requirements are not stressed to load a phonebook file.
Also, keep in mind that each phonebook entry needs 172 bytes plus
the total length of all the strings in an entry.
- 103 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
28.4.3 .con - Console definition file
-------------------------------------
This script file contains commands related to the console only.
It allows for easy switching among different emulation, screen,
font, keymap setups. These files are searched for in the main
path only.
28.4.4 .scp - Script file
-------------------------
Executable script file. The primary difference between script
files and the previous files is that the commands in the other
files can only perform option assignments with numeric or string
arguments, no script variable or expressions are evaluated and
will result in an error if any encountered.
Additionally, the other files are processed completely before
returning to the user. Scripts, on the other hand, are executed
asynchronously. This allows for "internal multitasking" to
occur. Please consult the ASK and INPUT script statement
descriptions for exceptions to this rule.
28.4.5 .trx - ARexx macro file
------------------------------
Standard ARexx macro, located in REXX:. All ARexx macros started
from within Terminus are asynchronously executed. Caution must
be used to avoid "collisions" between concurrently executing
ARexx macros.
28.5 COMMAND SCOPE
------------------
The following table categorizes the various command scopes allowed in
each type of script file. Grouping refers to the requester that an
option variable is located in or if it is a script function or
statement.
Levels 1 through 6 are option variables, they allow the changing or
reading of all options, modes and settings within Terminus. As shown,
certain options are only permissible within certain files, like the
phonebook and entry options, which are only allowed in .phones files.
Levels 7 and 8 are for statement and function commands that comprise
the script language proper. The difference between level 7 and level
8 is that level 8 script commands are not accessible in an ARexx
script.
An error will be reported during script execution if a command is used
outside its permitted scope.
- 104 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Level def con phones scp trx Grouping
---------------------------------------------------------------------------
LEVEL1 X X X GENERAL, PORT, PATH, MODEM, PALETTE
LEVEL2 X X X X SERIAL, XFER
LEVEL3 X X X X CONSOLE
LEVEL4 X X X MACRO
LEVEL5 X PHONEBOOK
LEVEL6 X PHONEENTRY
LEVEL7 X X STATEMENTS, FUNCTIONS
LEVEL8 X STATEMENTS, FUNCTIONS
28.6 OPTION CLASSES
-------------------
Option variables are classified according to the type of operation
they perform. Notice that the classes for the options are equivalent
to the type of gadget that a given option is attached to within its
appropriate requester.
The following are the various classes in Terminus.
28.6.1 INTEGER
--------------
Integer class options can be assigned or will return an integer
value. Only numeric assignments are permitted in any script file
other than a .scp or .trx file.
28.6.2 STRING
-------------
String class options can be assigned or will return a string
value. When used in any script file other than a .scp or .trx
file, only a quoted string is allowed as the assignment argument.
28.6.3 FLAG
-----------
Flag options have boolean states, only 1, 0, ON, TRUE, OFF or
FALSE may be used as an assignment argument. In .scp and .trx
files it can be used to return a value, a 1 represents a TRUE or
ON condition and 0 means OFF or FALSE.
28.6.4 MUX
----------
Mux is short for "mutual exclusion", these options can only be
set to one of a well-defined set of states. The description for
each mux option lists the arguments allowed for it. A mux option
will return a string value when used in a .scp or .trx file.
- 105 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
28.6.5 CMD
----------
A cmd option is an aggregate of one or more tightly related
options into one. This class can be used in a .scp or .trx file
to return the current settings via a concatenated string of the
involved options.
28.7 SCRIPT STRUCTURE
---------------------
Although the script language for Terminus is designed as a BASIC
interpreter you have to keep in mind that it is not entirely the same
syntactically.
You must be sure to keep each statement on a separate line. Script
labels also have to be on their own line. Most BASIC programming
environments provide you with a self-contained editor for creating
programs. These editors usually have both physical and logical lines
so that long lines wrap down to the next line in order to display the
entire line at all times. Since Terminus does not have an internal
editor, you will need to use a text editor to create your scripts.
Most text editors do not distinguish between physical and logical
lines, so you must remember to keep each script command on an entire
line, they cannot cross over to one or more lines or an error will
occur.
28.8 KEYWORDS
--------------
Keywords are reserved words that cannot be used as labels or variable
names within a script. All option and script commands are keywords as
well as system variables described below. Additionally, the following
are also keywords which are used in various command syntaxes described
below. They too cannot be used as variables or labels within the
script. Otherwise, a syntax error or unpredictable script execution
will occur depending on their use.
ALL AND APPEND COLOR FALSE IN
LOCAL NOT OFF ON OR OUT
OUTPUT QUIET RECURSIVE RESET SAVE STEP
TO TRUE WORKBENCH XOR
- 106 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
28.9 COMMENTS
-------------
Script files can have comments inserted throughout but must be
bracketed by the 'C' language style of comment which is the "/*" pair
to indicate the beginning of a comment and the "*/" pair that
indicates the end of a comment. This style was chosen for the purpose
of minimizing editing if you choose to convert the script for use as
an ARexx script. Also, an AmigaDOS 2.x compatible version string will
be placed in the beginning comment as the first line of the script
file if it was generated by the script recorder.
/* $VER: Terminus 2.0 - terminus1.def (22.06.93) */
This comment is typical of the first line that is present when you
save a .def defaults file.
28.10 LABELS
------------
Labels are unique names that define a position within the script that
execution can be transferred to via a GOSUB, GOTO or ON <action>
command. Labels must start at the left most column of a line, the
first character must be an alpha (A..Z) and the label must be
terminated with a ':' character. Do not place commands after the
label, they will be skipped over.
GOODLABEL:
This example shows a proper script label, it starts with an alpha
character and is terminated with a colon.
1BADLABEL:
While this label has a terminating colon, it starts with numeral,
which is not allowed.
LABELNG
NOGOOD: GOTO LABELNG
The first is not a label, it does not have a terminating colon. The
second example here is a good label, but the GOTO command following it
will be ignored.
28.11 INTEGER VARIABLES
-----------------------
Integer variables within Terminus scripts are a 32 bit signed integer
value in the range of -2146483648 to 2147483647. An integer variable
is denoted by a uniquely named character string that is not a reserved
command name, keyword or label. Integer variables must be initialized
before they can be used.
- 107 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Initialization does not have to occur as a separate statement however
as the following example illustrates.
intvar = 0
intvar = ABS(-12)
Since the variable "intvar" is being assigned via the ABS() function,
the first statement is redundant and is not needed. Let's look at one
more example.
intvar1 = -12
intvar2 = ABS(intvar1)
This example shows that the variable "intvar1" would have to be
assigned prior to being used by the ABS() function since it has to
return a value that it would not have if it did not exist prior to its
first use.
28.12 STRING VARIABLES
----------------------
String variables in Terminus scripts can contain a maximum of 255
characters. A string variable name is subject to the same restrictions
as an integer variable and must also be assigned prior to first use.
A string variable name must have a trailing '$' character appended to
the end of the name to differentiate it from an integer variable.
Additionally, "var" and "var$" would be valid variable names and can
be used within the same script as the '$' character is considered part
of the variable name.
String assignment values must be quoted or a syntax error will occur.
28.13 GLOBAL VARIABLES
----------------------
The single letter integer variables A..Z and the same set of string
variables A$..Z$ are global. That is, their contents are constant
throughout an entire session. They can be used for passing
information between different scripts, such as with a host (also
called a mini-BBS). The global string variables can also be used in
function key macros to send their contents.
Use the CLEAR command to reset all global variables.
- 108 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
28.14 READ-ONLY SYSTEM VARIABLES
--------------------------------
The following are permanently defined system variables that can only
have their current value read, they cannot be assigned a new value
from within a script.
ABORTREMOTE Returns a value of 1 if the remote CLI function
was aborted, by loss of carrier or by selecting
either [MISC][HANGUP MODEM][h] or [MISC][KILL
REMCLI][J].
ABORTXFER Returns the boolean result of the last file
transfer operation. A value of 1 represents an
aborted transfer, either by the user or via the
remote system.
CARRIER Returns the current state of the DCD line, a value
of 1 is returned if carrier is present, 0 if not.
COL Returns the current cursor column starting with
the value of 1 for the leftmost column.
COLORS Returns the maximum colors in the current display.
COLS Returns the current number of columns in the main
display.
FONTHEIGHT Returns the height of the current font in use.
ILACE Returns a boolean value of the interlace state of
the main display.
MCOL Returns the column position of where the mouse
pointer was located when the left mouse button was
clicked. {CONSOLE}{ANSI MOUSE}{I} must be
inactive and the ONMOUSE command must be executed
prior to this variable being updated. A value of
-1 will be returned if the feature is not active
or the left mouse button has not been clicked on
yet.
MROW Returns the row position of where the mouse
pointer was located when the left mouse button was
clicked. {CONSOLE}{ANSI MOUSE}{I} must be
inactive and the ONMOUSE command must be executed
prior to this variable being updated. A value of
-1 will be returned if the feature is not active
or the left mouse button has not been clicked on
yet.
ROW Returns the current cursor row starting with the
value of 1 for the topmost row.
- 109 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
ROWS Returns the current number of rows in the main
display.
DATE$ Returns a string of the current system date
formatted as per the setting of {GENERAL}{DATE
FORMAT}{M}.
TIME$ Returns a string of the current system time
formatted as per {GENERAL}{24 HOUR CLOCK}{2}.
FONTNAME$ Returns the name of the current font in use.
28.15 READ/WRITE SYSTEM VARIABLES
---------------------------------
The following are predefined system variables that can be read or
assigned as necessary.
BPEN Sets or returns the current background pen color for
the main display, the supplied value will be modulo the
number of screen colors.
CPEN Sets or returns the current cursor pen color for the
main display, the supplied value will be modulo the
number of screen colors.
CURSOR A boolean variable that returns the current state of
the display cursor and when assigned TRUE or FALSE, it
will turn cursor rendering on or off.
ICONIFY Setting this variable TRUE will iconify Terminus. Set
it FALSE to restore Terminus from the iconified state.
LOGOFF$ Set this string variable to a Terminus script file that
will be executed when carrier is lost or the user
selects [MISC][HANGUP MODEM][h].
This script is only executed once for each time that it
is assigned. Once executed, the contents of the
variable are destroyed to prevent reexecution. This is
a safety feature to prevent a runaway script from
getting hung in an indefinate loop or doing other
unexpected/unwanted things.
LOGOFF$ also overrides the operation of the ONCARRIER
command and any currently executing script. The
current script is lost, and therefore, the state of an
active ONCARRIER whenever a LOGOFF$ script is executed.
REQUEST A boolean variable that will prevent or allow AmigaDOS
system requesters from being posted. Default action as
expected if requesters are off.
- 110 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
TIMER Sets or returns the current value of the online timer
in seconds.
TPEN Sets or returns the current text pen color for the main
display, the supplied value will be modulo the number
of screen colors.
TRACE Although the state of this flag can be read, it is used
primarily to set script tracing mode. When TRUE, this
flag causes the script interpreter to display each line
as it is executed.
28.16 OPERATOR PRECEDENCE
-------------------------
Precedence refers to the order in which operators are evaluated in a
mathematic or logical expression. Parentheses may be used to alter
the evaluation order of an expression.
(highest)
1. + - Unary.
2. * / Multiplicative.
3. % Modulus.
4. + - Additive.
5. < <= > >= Relational: less, less/equal, greater,
greater/equal.
6. == != Equality, inequality.
7. NOT Logical.
8. AND "
9. OR "
10. XOR "
(lowest)
- 111 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
28.17 SYNTAX
-------------
The following notation is used to describe the syntax for commands and
their required (or optional) arguments. All punctuation must be
included where shown.
UPPERCASE Items in uppercase define script commands and keywords.
lowercase Items in lowercase are supplied by the user.
| Vertical bars separate multiple items.
- Horizontal bar indicates a numeric range.
[] Brackets enclose one or more optional items.
{} Braces enclose multiple items, one of which must be
present.
... Ellipses indicate items that may be repeated.
op Arithmetic or logical operator.
num Integer number, -2147483648 - +2147483647.
string Character string enclosed with double quotes, length of
255 max.
func Function that returns a <num> or <string> result.
var Integer variable.
aexpr {num | var | func} [op {num | var | func}]...
svar String variable.
sexpr {svar | string | func} [+ {svar | string | func}]...
cop Conditional operator: relational, equality.
cond Conditional statement: {sexpr | aexpr} [cop {sexpr |
aexpr}]...
boolean {ON | TRUE | OFF | FALSE}
dirspec An <sexpr> that indicates a valid AmigaDOS directory
pathname.
filespec An <sexpr> that specifies a valid AmigaDOS filename.
argument {filespec | dirspec | sexpr | aexpr}...
statement Any valid script command and associated arguments.
- 112 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
28.18 ESCAPE CODES
------------------
Terminus supports an extensive set of character escape codes for text
strings for option command assignment and for use with the SEND,
PRINT, INPUT, ASK, WAIT and WHEN commands. The escape codes are
listed as follows:
~ Pause one half second.
^^ The '^' character.
^~ The '~' character.
^! The '!' character.
^A...Z Send char as a control character.
^@ The NUL (0x00) character.
^[ The ESC (0x1b) character.
^\ The FS (0x1c) character.
^] The GS (0x1d) character.
^_ The US (0x1f) character.
\" The '"' (double quote) character.
\' The ''' (single quote) character.
\\ The '\' character.
\xHH Two digit hexadecimal character.
\OOO Three digit octal character.
\a The BEL (^G) character.
\b The BS (^H) character.
\e The ESC (^[) character.
\f The FF (^L) character.
\t The TAB (^I) character.
\n Sends CR/LF sequence.
\r Sends {CONSOLE}{EOL OUT}{E}.
The "\r" escape is a special case when used. It will send the current
setting of {CONSOLE}{EOL OUT}{E}. If this is used for local text
output to the display then this setting, {CONSOLE}{CR XLATE}{X} and
{CONSOLE}{LF XLATE}{T} should match so that a newline is generated.
The following table illustrates the recommended settings:
{EOL OUT} {CR XLATE} {LF XLATE}
----------------------------------------
CR ADDLF STRIP
LF STRIP ADDCR
CRLF LEAVE LEAVE
- 113 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
When assigning options with strings that need to be quoted, you need
to use the following format:
TEMP$ = "SEND \"THIS STRING^M\""
This example results in the string variable TEMP$ being assigned the
string:
SEND "THIS STRING^M"
The outer double quotes are stripped, but the escaped quotes are
retained.
28.19 SCRIPT FILE I/O
---------------------
Scripts are capable of reading and writing up to six different files
simultaneously. Data is read from the file and assigned to integer or
string variables and is written from variables or string/integer
constants as ASCII text with one line for each data item.
In order to detect an end-of-file condition with variable length
files, Terminus returns a numeric value of -1 or a string value of
"END_OF_FILE", depending on which type of variable was due to receive
an assignment when the end-of-file was reached. This allows for
simple loops to control file reading, such as
READ_LOOP:
READ #1, TEMP$
IF TEMP$ == "END_OF_FILE"
GOTO READ_END
ENDIF
...
GOTO READ_LOOP
READ_END:
CLOSE #1
The descriptions for the OPEN, CLOSE, READ and WRITE commands below go
into detail on how to use script file I/O.
28.20 SCRIPT EXECUTION DETAILS
------------------------------
While the design of Terminus strives to achieve internal multitasking
as completely as possible, there are some areas that are synchronous
by necessity. The file requester is one area (except when used for
file transfer selection), script execution is another.
Contained within Terminus is a pattern matching engine that can
compare the serial input data stream with up to 32 strings of text
simultaneously. You interface with this engine via the script
language to process the data as matches occur.
- 114 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
In order for the pattern matching to succeed input data has to be
controlled so that data does not get processed until the engine has
been initialized for the strings that it is to search for.
This is accomplished by processing scripts and serial input in an
either/or method. Basically, while a script is executing serial input
data is held off from being processed until the script enters one of
several states.
There are three basic states of script execution, "running", "stopped"
or "suspended". The first two are self-explanatory, the suspended
state has three modes that will be explained here.
The first mode is the input mode. Whenever the script commands ASK,
INPUT, GETSTRING or GETINT are used the script will be halted and
serial input as well as keyboarded output will be channeled to the
active script command that is currently waiting for input. The status
line indicator INPUT will be displayed while the script is waiting for
input for added visual feedback to determine what Terminus is doing.
The next mode of suspended script execution is the wait mode.
Terminus displays the indicator WAITING on the status line whenever it
is waiting for serial input or a timeout to occur. It is this mode
that allows serial input to be processed by the pattern matching
engine during script execution.
The last mode is activated whenever a script initiates a file transfer
via the commands ASEND, UPLOAD or DOWNLOAD. A script will also become
suspended if a ZMODEM or XPR autodownload is initiated as well. It is
recommended that your script be written so that it is synchronized to
the autodownload though, either via an explicit WAIT or by looking for
a specific string that is sent prior to the file transfer beginning so
that script synchronization with the remote system is maintained.
28.21 INPUT COMMANDS
--------------------
There are four script commands related to data input, ASK, INPUT,
GETSTRING and GETINT. The latter two commands are local-only
requester based input methods that will not be described here. This
section only deals with the first two commands, ASK and INPUT.
Both commands were designed with the purpose of getting input from a
remote user or from the local user, or both.
When used without the keyword LOCAL both commands will check the
status of the DCD (carrier detect) serial line to determine if remote
input will be accepted as well as outputting an optional prompt string
if present. When the keyword is used then only local input (and
output) will take place.
- 115 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
The primary intent of these commands is to provide you with the
ability to create a host environment as simple or as complex as you
choose.
28.22 STRING MATCHING
---------------------
The core of Terminus' script language are the two commands, WAIT and
WHEN, With combinations of these commands you can automate Terminus
in such a manner that very little, if any, intervention is required
during it's operation.
The operation of both WAIT and WHEN are somewhat different when used
in an ARexx script, please see the section below to learn those
differences when using Terminus with ARexx. The rest of this section
is devoted to using WAIT and WHEN within a Terminus script.
In order to search for one or more strings Terminus has to be in a
"wait" state, which is accomplished via the WAIT command. The WAIT
command will halt all script (internal and ARexx) execution until the
WAIT is satisfied via a timeout or a string match.
The WHEN command is somewhat like the WAIT command in that it searches
for a string match as well. However, it cannot be used alone, it must
be used in conjunction with WAIT as Terminus does not search for
strings unless it is in a wait state.
The primary purpose for using WHEN is if there is more than one string
that can be received from the remote system, or when there can be a
variable number of a certain string, like the common "More?" prompt
that a system uses when displaying data in a paged format.
Essentially, you will use WAIT and optionally, WHEN to automate the
process of an online session by searching for an expected prompt from
the remote system and sending data in response to the received data.
The most basic of examples is something like this:
WAIT "First Name?"
SEND "Jack^M"
WAIT "Last Name?"
SEND "Radigan^M"
WAIT "Password?"
SEND "mypw^M"
This example illustrates a simple login script which, by the way, is
practically identical to how the Terminus script recorder generates a
script. It waits for a keyboard response and generates a WAIT
statement based on the most recently received data. It then generates
the SEND command based on what you enter at the keyboard.
Now, let's add the following to this basic script; the remote system
has a daily news file that isn't always displayed and is also
- 116 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
displayed in varying length depending on how much news is present.
Since the system pauses after a group of lines has been sent it
generates a "More?" prompt that requires you to press <RETURN> or some
other key in response to continue.
This situation is exactly what WHEN is used for. What we do is add a
WHEN statement that will look for the "More?" prompt and send a
carriage return each time it's seen.
WHEN 1 "More?" SEND "^M"
WAIT "First Name?"
SEND "Jack^M"
WAIT "Last Name?"
SEND "Radigan^M"
WAIT "Password?"
SEND "mypw^M"
That's all there is to it! Since there are 31 separate strings that
WHEN can search for at once we need to declare which one of the
"slots" that the WHEN command will place the target string in. The
second part of the statement is the SEND "^M" portion. This is
executed each time a "More?" prompt is seen.
Please refer to the descriptions for WAIT and WHEN to learn of the
other variations to these commands.
28.23 BULLET-PROOF AUTOMATION
-----------------------------
Terminus also offers several other commands that should be considered
if you are interested in completely reliable automated operation.
Building on the simple login script listed above we will add the
necessary commands that will make it completely bullet-proof to any
situation that may arise during the connection.
Again:
ONCARRIER GOTO No_dcd
ONTIMEOUT GOTO Retry
WHEN 1 "More?" SEND "^M"
WHEN 2 "New User? (Y/n)" GOTO Bad_entry
WHEN 3 "Reenter password?" GOTO Send_pw
WAIT "First Name?"
SEND "Jack^M"
WAIT "Last Name?"
SEND "Radigan^M"
WAIT "Password?"
Send_pw:
SEND "mypw^M"
WAIT "Command?"
GOTO Logged_in
- 117 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Bad_entry:
SEND "N^M"
GOTO Again
No_dcd:
LOG "Lost carrier during connection"
END
Retry:
SEND "^M"
WAIT 3
LOG "Unable to login"
END
What this script represents is how you could handle a typical login
situation so that it is prepared for any eventuality. Although this
example represents a fictional system, it illustrates what is required
to make a login completely reliable to any possibility of lost or
corrupted responses from your computer to the remote system or a loss
of carrier during the login sequence.
The first two commands, ONCARRIER and ONTIMEOUT defend against carrier
loss and corrupted/lost responses. If they are executed it will be
due to one of those conditions. The ONCARRIER is self explanatory, it
will jump to the No_dcd label, log a result to the logfile and exit
the script.
The ONTIMEOUT jumps to the Retry label which sends a carriage return,
waits 3 seconds for one of the WHEN commands to match and then exists
if it timeout.
Next we set up 3 WHEN statements that are used to match the possible
prompts that the remote system can send back to us. The first one is
used to reply to a "More?" prompt while the next two are used to
defend against the remote system getting corrupted responses from us.
The second WHEN is matched if either the first or last name response
was corrupted. Instead of entering ourselves as a new user we send
back an 'N' response and then retry the entire process by jumping back
to the Again label.
The last WHEN is used to defend against a corrupted password response.
In order to search for that we need to add one more WAIT after the
password is sent or else we wouldn't know if it was received properly.
By waiting for the "Command?" prompt we're able to find out if the
password was received correctly. If not we jump back to the SEND
statement that sends the password and wait again.
If the password was received properly we will get the "Command?"
prompt and then jump to the rest of the script that does whatever is
necessary for this connection, like retrieving mail, files and so
forth.
- 118 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
28.24 AREXX INTERFACE
---------------------
As detailed in the scope table above, level 8 script commands are not
accessible to ARexx scripts. This category of script commands relate
to execution control or functions that are near or exact duplicates
for ARexx functions.
Terminus does not support the passing of ARexx variables, all returned
data is done so via the default ARexx variable RESULT.
The RC variable is also used by Terminus to return the result code of
the last executed Terminus command. The following return values are
used:
0 A command executed properly.
5 The command sent by ARexx is not supported in Terminus.
10 A syntax or other execution related error occurred.
20 A fatal error that may or may not be directly related to the
command that was executed.
The input commands, ASK, INPUT, GETSTRING and GETINT operate slightly
different when used with ARexx. Omit the script variable with each
command as is necessary when they're used with internal scripts,
Terminus will return the entered data in the default ARexx variable
RESULT.
The WAIT command returns a result in RESULT once the command is
satisfied, the possible responses are:
"KILL" The user selected [SCRIPTS][STOP SCRIPT[T] while
WAITing, [SCRIPTS][ABORT AREXX MACROS][k] or the
associated Terminus session exited for some reason.
"TIMEOUT" A timeout occurred while WAITing.
"QUIET" A WHEN QUIET condition was satisfied.
0 The string sent with WAIT was matched.
1-31 A WHEN string match occurred.
The WHEN command is not supplied SEND or GOTO arguments when used with
ARexx. Terminus will return a numeric value representing the
associated WHEN slot that was matched.
The "KILL" result is also returned to a waiting script if an aborted
file transfer occurs. A value of 0 is returned if the transfer
completes successfully.
- 119 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
29 FUNCTION AND STATEMENT DESCRIPTIONS
--------------------------------------
Syntax: ABS(aexpr)
Scope: 8/INTEGER
Returns the absolute value of <aexpr>.
TEMP = -12
PRINT "ABS(-12) = " ABS(TEMP)
When this script fragment is executed the following is printed:
ABS(-12) = 12
Syntax: ALARM
Scope: 7/COMMAND
Produces the audible attention sound that's used for file transfer
completion and dialer connections.
Syntax: ASC(svar)
Scope: 8/INTEGER
Returns the ASCII code for the first character of <svar>, error if
NULL.
TEMP$ = "ABCDE"
TEMP = ASC(TEMP$)
IF TEMP == 64 /* The decimal value of 'A' is 65 */
PRINT "EQUAL"
ELSE
PRINT "NOT EQUAL"
ENDIF
When this script fragment is executed the following occurs:
NOT EQUAL
- 120 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Syntax: ASEND filespec
Scope: 7/CMD
ASCII send a file. If <filespec> is not a fully qualified pathname,
the path defined in {PATHS}{UPLOADS}{U} will be used to locate the
file. Typical command arguments would be:
UPLOADSPATH$ = "UPLOADS:"
FILE$ = "foo.txt"
ASEND FILE$
When this script fragment is executed the filename "UPLOADS:foo.txt"
will be sent via ASCII send.
Syntax: ASK [LOCAL] [string,] svar
Scope: 7/CMD
Get a single character response from either the local user or from the
remote connection if DCD is present and LOCAL is not used. Optionally
prompt with <string> if included, a '?' character is output otherwise.
Returns a single character to <svar>.
ASK "Enter menu selection: ", MENU$
This command will display the prompt with the string in quotes and
place the single character input that the local or remote user enters
into the string variable MENU$. Since this command is an assignment,
the variable does not have to be declared prior to its use here.
Syntax: BEEP
Scope: 7/CMD
Sounds bell if {GENERAL}{AUDIBLE BEEP}{A} is TRUE, otherwise a screen
flash via the system call DisplayBeep() occurs.
Syntax: CALL filespec
Scope: 8/CMD
Start a new script file. Can return to the calling script with the use
of the END command in the called script. If <filespec> is not fully
qualified, the supplied filename will be prefixed with the current
path defined in {PATHS}{SCRIPTS}{S}. Global variables are not
cleared.
- 121 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Syntax: CAPTURE {OPEN | APPEND | CLOSE} [SAVE] filespec
Scope: 7/CMD
Open, append or close a capture file. If the SAVE option is present
on an open or append, the contents of the review buffer will be
written to the capture file. If <filespec> is not fully qualified,
the supplied filename will be prefixed with the current pathname
defined in {PATHS}{CAPTURE}{P}.
CAPTUREPATH$ = "RAM:"
CAPTURE APPEND SAVE "ARCHIVES:review.cap"
CAPTURE OPEN "foo.cap"
This fragment will cause the current contents of the review buffer to
be appended to "ARCHIVES:review.cap". That file will then be closed
and "RAM:foo.cap" will be opened as a new capture file.
Syntax: CHAIN filespec
Scope: 8/CMD
Starts a new script file. Does not return to the calling script. If
<filespec> is not fully qualified, the supplied filename will be
prefixed with the current path defined in {PATHS}{SCRIPTS}{S}. Global
variables are not cleared.
Syntax: CHDIR dirspec
Scope: 8/CMD
Change current directory to <dirspec>. If <dirspec> does not exist no
directory change will occur.
Syntax: CHR$(aexpr)
Scope: 8/STRING
Returns a single character string representing the ASCII value of
<aexpr> modulo 256.
TEMP = 354
CHAR$ = CHR$(TEMP + 23)
The string variable CHAR$ will be assigned the character 'y' which is
(354 + 23) % 256 = 121.
- 122 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Syntax: CLEAR
Scope: 8/CMD
Clear all script variables, global and local.
Syntax: CLOSE [#fnum, ...]
Scope: 8/CMD
Close file <fnum> or all open files if none are specified.
Syntax: CLRLINE [aexpr]
Scope: 7/CMD
This command will clear all or a portion of the line that the cursor
is currently positioned on. The start of the line to be cleared is
determined by the column that the cursor is at. The optional <aexpr>
will limit the number of characters to be cleared, if present, to that
amount or the remainder of the line if not.
Syntax: CLRRECT aexpr1, aexpr2, aexpr3, aexpr4
Scope: 7/CMD
Clears a rectangle in the main display starting at row <aexpr1>, col
<aexpr2> and ending at row <aexpr3>, col <aexpr4>. The rectangle will
be set to space characters and cleared to the current color defined by
the BPEN variable.
Syntax: CLS
Scope: 7/CMD
Clear screen using the current values of TPEN and BPEN.
Syntax: CONTINUE
Scope: 8/CMD
Resume execution with the next iteration of the currently executing
FOR, REPEAT or WHILE loop. The script must be executing one of these
loop commands or an error will occur.
- 123 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Syntax: CURPALETTE c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c1
Scope: 7/CMD
Sets current console palette colors. This command does not set the
entire palette structure as the PALETTE option commands do. All color
register values must be supplied in RGB hexadecimal format.
Syntax: DOWNLOAD [filespec]
Scope: 7/CMD
Download a file using the current protocol selected. If <filespec> is
not fully qualified, the supplied filename will be prefixed with the
current path defined in {PATHS}{DOWNLOADS}{D}. When DOWNLOAD is used
with protocols such as YMODEM and ZMODEM, <filespec> is ignored as
those protocols send the filename, size and other information as part
of the transfer. When used with XPR selected, <filespec> is sent to
the protocol library for use as needed by the selected XPR.
Syntax: END
Scope: 8/CMD
Halt script execution. Resumes execution in the previous script if
the current script was started as the result of a CALL command.
Syntax: EXECUTE sexpr
Scope: 8/CMD
Executes <sexpr> as an AmigaDOS command.
COPY$ = "copy "
FOO$ = "foo "
BAR$ = "bar:"
EXECUTE COPY$ + FOO$ + BAR$
The resultant string "copy foo bar:" will be executed as an AmigaDOS
command that copies the file "foo" from the current directory to the
volume (or logical assignment) "bar:".
Syntax: EXISTS(filespec)
Scope: 8/CMD
Returns TRUE if <filespec> exists.
IF EXISTS("TERMINUS:welcome.txt")
ASEND "TERMINUS:welcome.txt"
ELSE
SEND "Welcome!\r"
ENDIF
- 124 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
This fragment checks to see if the file "TERMINUS:welcome.txt" exists,
if it does it will be sent to the serial port via an ASCII send. If
the file does not exist the string "Welcome!", and the current EOL
will be sent instead.
Syntax: EXIT
Scope: 8/CMD
This command will terminate the currently executing FOR, REPEAT or
WHILE loop. An error will occur if no loop is executing.
Syntax: FOR var = start TO end [STEP [-]step]
statement
...
NEXT
Scope: 8/CMD
Initialize <var> to <start> then execute intervening <statements>
while the absolute value of <var> is less than the absolute value of
<end>.
NEXT causes <var> to be incremented by 1 or <step>.
Unlimited nesting is allowed.
FOR I = 20 TO 0 STEP -2
PRINT I " "
NEXT
The output from this script fragment would be:
20 18 16 14 12 10 8 6 4 2 0
Syntax: GETINT prompt, var [,min, max]
Scope: 7/CMD
Opens an integer input requester with the current value of <var>
(which can be created as part of calling this command). The optional
<min> and <max> values define the boundaries of valid numeric input
for the user. The OK gadget or pressing <RETURN> is required to
accept the changed value.
TEMP = 50
GETINT "Enter value", TEMP, 0, 100
Using this script fragment would result in the integer requester being
opened set to the value of 50 and would only allow a value between 0
- 125 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
and 100 inclusive to be entered. The variable TEMP would be changed
to the entered value once <RETURN> or {GETINT}{OK} is pressed.
Syntax: GETLINE$(aexpr)
Scope: 7/CMD
Returns a copy of the contents of row <aexpr> in the main display.
The string will be the same length as the current width of the
display. If <aexpr> is less than 1 or greater than the number of rows
in the display, an out or range error will occur.
Syntax: GETSTRING prompt, svar
Scope: 7/CMD
Opens a string input requester with the current value of the supplied
string variable (which can be created as part of calling this
command). The OK gadget or pressing <RETURN> is required to accept
the changed value.
Syntax: GOSUB label
Scope: 8/CMD
Continue execution of script at <label>. A RETURN will cause
execution to resume with the statement immediately following the GOSUB
statement.
GOSUB SUB1
...
SUB1:
...
RETURN
When the GOSUB SUB1 script statement is reached it will transfer
execution of the script to the label SUB1:. When the RETURN command
in that subroutine is reached, execution is resumed at the statement
immediately following the GOSUB that called the subroutine.
- 126 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Syntax: GOTO label
Scope: 8/CMD
Continue execution of script at <label>.
GOTO CONT
PRINT "Sugar and"
CONT:
PRINT "spice"
The output from this script fragment would be:
spice
The first PRINT statement is never executed since the GOTO statement
prior to it transferred execution of the script to the label CONT:.
Syntax: HANGUP
Scope: 7/CMD
Hangup modem, use DTR or command depending on modem parameters.
Syntax: IF cond
statement
...
[ELSE]
statement
...
ENDIF
Scope: 8/CMD
If <cond> evaluates TRUE intervening <statement(s)> are executed until
an ELSE or ENDIF is encountered. If <cond> evaluates FALSE only the
<statement(s)> following the ELSE will be executed or execution will
resume after the ENDIF. Unlimited nesting of IF/ENDIF pairs are
allowed.
IF 5 AND 1 == 1
PRINT "TRUE"
ELSE
PRINT "FALSE"
ENDIF
This fragment will output "TRUE" as a binary 5 logically AND'd with a
binary 1 are equal to 1.
- 127 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Syntax: INPUT [LOCAL] [QUIET] [string,] {var | svar}
Scope: 7/CMD
Request input from local and remote user (if DCD is present and LOCAL
is not used). Optionally prompt with <string>, a '?' character is
used otherwise. Type of input is dependant on the variable supplied
to INPUT and must match it or an unexpected result will occur. QUIET
suppresses character echo and sends a "." instead. An EOL is sent
after the user presses <RETURN> when DCD is present.
INPUT QUIET "Password: ", PASSWORD$
This fragment will request the user to enter a password, '.'
characters will be echoed instead of the input string.
Syntax: INSTR([aexpr,] sexpr1, sexpr2)
Scope: 8/INTEGER
Returns position of first occurrence of <sexpr2> in <sexpr1>,
optionally starting at position <aexpr>.
POS = INSTR(3, "thisisaverylonngstring", "very")
The variable POS will be assigned the value 8 when this fragment is
executed.
Syntax: INVLINE [aexpr]
Scope: 7/CMD
Inverts the line in the main display that the cursor is located at.
The column position of the cursor determines the starting column that
will be inverted in the line while the optional <aexpr> limits the
number of characters to invert. The rest of the line will be inverted
otherwise.
Syntax: KILL
Scope: 7/CMD
Clear the contents of the review buffer.
Syntax: LDEFAULTS [filespec]
Scope: 7/CMD
Load a new defaults file. If <filespec> is not fully qualified, the
supplied filename will be prefixed with the current path defined in
{PATHS}{TERMINUS}{T}. If <filespec> is not present, the currently
defined defaults file will be loaded.
- 128 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Syntax: LDEFFILE filespec
Scope: 7/CMD
Load a new console definition file. If <filespec> is not fully
qualified, the supplied filename will be prefixed with the current
path defined in {PATHS}{TERMINUS}{T}. Terminus will reconfigure the
console as necessary after the definition file has been read.
Syntax: LEFT$(sexpr, aexpr)
Scope: 8/STRING
Returns leftmost <aexpr> characters of <sexpr>.
SUB$ = LEFT$("notaslongastring", 7)
The string variable SUB$ will be assigned the string "notaslo" after
the execution of this statement.
Syntax: LEN(sexpr)
Scope: 8/INTEGER
Return length of <sexpr>.
TEMP$ = "infinity"
PRINT "The length of " TEMP$ " is: " LEN(TEMP$)
This script fragment would output:
The length of infinity is: 8
Syntax: LOG [sexpr]
Scope: 7/CMD
Append string <sexpr> to logfile with timestamp. If <sexpr> is not
present, a blank timestamp will be appended instead.
Syntax: LOWER$(sexpr)
Scope: 8/STRING
Returns <sexpr> in lowercase.
OLD$ = "ANUPPERCASESTRING"
NEW$ = LOWER$(OLD$)
This script fragment will assign the string "anuppercasestring" to the
string variable NEW$ when executed.
- 129 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Syntax: LPHONES [filespec]
Scope: 7/CMD
Load a new phonebook file. If <filespec> is not fully qualified, the
supplied filename will be prefixed with the current path defined in
{PATHS}{TERMINUS}{T}. The contents of the current phonebook is
deleted prior to loading the new phonebook file. If <filespec> is not
present, the currently defined phonebook is loaded instead.
Syntax: MID$(sexpr, aexpr1 [,aexpr2])
Scope: 8/STRING
Returns substring of <sexpr> starting position <aexpr1>, with optional
length of <aexpr2>.
PRINT LEN(MID$("thisisalongerstringthenbefore", 10, 5))
The value 5 will be output as the length of the substring from the
MID$() function is set to a maximum length of 5 which is what the
LEN() function uses to compute string length.
Syntax: MOVE [aexpr1, aexpr2]
Scope: 7/CMD
Move cursor to row <aexpr1>, column <aexpr2> or to home position if no
arguments are supplied.
Syntax: ONCARRIER [GOTO label]
Scope: 8/CMD
To activate this command you must use "GOTO <label>" to define a
location in the script that execution will branch to when carrier is
lost. Script execution can only return to the point where it was
interrupted by using RESUME. The ONCARRIER command by itself will
cause Terminus to disable this feature.
ONCARRIER GOTO LOSTDCD
...
LOSTDCD:
CLOSE
GOTO RESTART
This script fragment will result in setting the carrier detection
logic to transfer script execution to the label LOSTDCD: since the
GOTO LOSTDCD command is executed when carrier loss is detected. All
files will be closed and then script execution will continue at the
label RESTART:.
- 130 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Syntax: ONMOUSE [GOTO label]
Scope: 8/CMD
To activate this command you must use "GOTO <label>" to define a
location in the script that execution will branch to when the left
mouse button is clicked on while the mouse pointer is in the main
display. The read-only variables MCOL and MROW will be set to the
cursor position that the pointer is over when the left mouse button
was clicked on, the display cursor will not be repositioned when this
action occurs. Script execution can only return to the point where it
was interrupted by using RESUME. The ONMOUSE command by itself will
cause Terminus to disable this feature.
ONMOUSE GOTO MOUSECLICK
...
MOUSECLICK:
PRINT "Mouse at row: " MROW " col: " MCOL
RESUME
This script fragment will result in printing the current location of
the mouse pointer when the left mouse button is clicked on then resume
script execution at the point it was interrupted at.
Syntax: ONTIMEOUT [GOTO label]
Scope: 8/CMD
To activate this command you must use "GOTO <label>" to define a
location in the script that execution will branch to when a timeout
occurs during an active WAIT. Script execution can only return to the
point where it was interrupted by using RESUME. The ONTIMEOUT command
by itself will cause Terminus to disable this feature.
ONTIMEOUT GOTO RETRY
...
RETRY:
SEND "^M"
GOTO RESYNCH
This script fragment will result in sending a carriage return when the
current WAIT timer expires script execution is then transferred to the
RESYNCH: label somewhere else in the script.
Syntax: OPEN [INPUT | OUTPUT | APPEND] fnum, filespec
Scope: 8/CMD
Opens <filespec> for input, output or for appending to an existing
file (same as OUTPUT if it does not exist). You must close a file
prior to attempting to open another file with the same file handle or
an error will occur.
- 131 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
OPEN OUTPUT 1, "foo.bar"
The file "foo.bar" in the current will be opened for writing with file
handle #1 after this statement is executed.
Syntax: PAUSE aexpr
Scope: 8/CMD
Halts script execution for <aexpr> seconds.
Syntax: POP
Scope: 8/CMD
This command will remove the most recent GOSUB return address from the
stack.
GOSUB LABEL1
PRINT "From LABEL1"
LABEL1:
GOSUB LABEL2
PRINT "From LABEL2"
LABEL2:
POP
RETURN
When the first GOSUB is encountered it's return address is placed
on the stack and execution then continues at the location of
LABEL1. There the next GOSUB is reached, it's return address is
also pushed onto the stack and execution transfers once again to
LABEL2. At this point the POP will remove the return address
from the second GOSUB and when the RETURN command is executed it
will return the address of the first GOSUB, which results in the
first PRINT statement being executed.
Syntax: PRINT [LOCAL] [{aexpr | sexpr} {, | ;}...]
Scope: 7/CMD
Print formatted data. Normally sent to the screen and to the serial
port (if DCD is present), but the LOCAL argument can be used to
prevent output going to the serial port. Each <aexpr> or <sexpr> item
must be separated by either a comma ',' or semicolon ';'. A comma
will advance the cursor to the next TAB stop while a semicolon
preserves the current cursor position. A newline is normally
generated after each PRINT statement, but a comma or semicolon will
suppress the newline and locate the cursor according to which
character is used.
PRINT "First", "Second"; " Third"
- 132 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
This statement will send the following string to the display and to
the serial port if DCD is present:
First Second Third
Syntax: PRINTER boolean
Scope: 7/FLAG
Turn printer on or off.
Syntax: QUIT
Scope: 7/CMD
Exit Terminus.
Syntax: READ #fnum, {var | svar},...
Scope: 8/CMD
Read data from the file <fnum> into one or more variables. Reading
stops once the end-of-line is reached.
OPEN INPUT 2, "mydata"
READ #2, NAME$, ADDRESS$, NUMBER$, ZIP, END$
CLOSE #2
This script fragment will open the file "mydata" and read its contents
in order into the variables NAME$ ADDRESS$ NUMBER$ ZIP END$. An
example file for mydata could contain the following:
Wile E. Coyotee
1950 ACME Canyon Rd.
1-800-RDRUNNR
12345
The variables would then be assigned as:
NAME$ = "Wile E. Coyotee"
ADDRESS$ = "1950 ACME Canyon Rd."
NUMBER$ = "1-800-RDRUNNR"
ZIP = 12345
END$ = "END_OF_FILE"
The string "END_OF_FILE" is assigned to the variable END$ since the
end-of-file was reached with the assignment of the variable ZIP.
Syntax: REDIAL
Scope: 7/CMD
Starts the dialer if any phonebook entries are selected.
- 133 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Syntax: RELMOVE aexpr1, aexpr2
Scope: 7/CMD
Moves the cursor relative from it's current position by <aexpr1> rows
and <aexpr2> columns. Negative values will move the cursor up and
left while positive values will move the cursor down and right.
Syntax: REMOTE [sexpr1 [sexpr2]]
Scope: 8/CMD
Initiate a remote CLI or SHELL through the serial port. The <sexpr1>
argument overrides the default AmigaDOS command "NEWCLI" and the
<sexpr2> argument refers to a script filename that is executed on
startup. In order to use the script option you must include the shell
command option.
REMOTE "Shell" "S:RemoteStartup"
This statement would invoke the remote CLI using the AmigaDOS Shell
command and will execute the AmigaDOS script S:RemoteStartup.
Syntax: REPEAT
statement(s)
...
UNTIL cond
Scope: 8/CMD
Execute intervening <statement(s)> while <cond> is non zero.
Syntax: RESUME
Scope: 8/CMD
This command is only available for use when script execution has been
interrupted by a ONCARRIER, ONMOUSE or ONTIMEOUT. When RESUME is
encountered script execution will return to the location that the
interruption occurred at. The POP command has no effect here.
A special consideration should be noted when the script is in a WAIT
state when the interrupt and subsequent RESUME occurs, the WAIT will
be cleared and execution will continue with the command following the
WAIT command. This action is different from the operation of a WHEN
command.
- 134 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Caution should also be taken to insure that a RESUME is only executed
when an interrupt has occurred or an error will occur. Also, the
return point for the RESUME will be available only until another
ONCARRIER, ONMOUSE or ONTIMEOUT occurs.
When RESUME is executed the return pointer is reset so that it cannot
be used more than once.
Syntax: RETURN
Scope: 8/CMD
Transfers execution to the command following the most recently
executed GOSUB.
Syntax: REXX sexpr
Scope: 8/CMD
Send <sexpr> to ARexx port. The command string executed by the ARexx
host will be asynchronous to Terminus. Terminus keeps track of all
commands sent to the ARexx host and will not finish until all have
returned when Terminus is exited.
Syntax: RIGHT$(sexpr, aexpr)
Scope: 8/STRING
Returns rightmost <aexpr> characters of <sexpr>.
TEMP$ = "notsolongastring"
IF RIGHT$(TEMP$, 6) == "string"
TEMP$ = "EQUALS"
ENDIF
PRINT "TEMP$ = " TEMP$
When this script fragment is executed the output will be:
TEMP$ = EQUALS
Syntax: SBREAK
Scope: 7/CMD
Send a break signal to the serial port. The length of the break
signal is determined by {PORT}{BREAK LENGTH}{B}.
- 135 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Syntax: SCREENTOFRONT
Scope: 7/CMD
Brings the Terminus screen (window under Workbench) to the front of
the display. If Terminus is currently iconified when SCREENTOFRONT is
called it will also deiconify Terminus.
Syntax: SDEFAULTS [filespec]
Scope: 7/CMD
Save the Terminus settings to the defaults file <filespec> in the path
{PATHS}{TERMINUS}{T}. If <filespec> is omitted, the current defaults
filename will be used.
Syntax: SDEFFILE [filespec]
Scope: 7/CMD
Save the console settings to the definition file <filespec> in the
path {PATHS}{TERMINUS}{T}. If <filespec> is omitted, the current
definition filename will be used.
Syntax: SELECT sexpr [,sexpr...]
Scope: 7/CMD
Select a phonebook entry for dialing that matches <sexpr> in
{ENTRY}{NAME}{E}. This command is designed to be used in unattended
scripts, therefore you cannot select an entry for autorecording as
that implies user interaction at some time during the connection.
SELECT "DPS-BBS"
REDIAL
This script fragment will select the entry "DPS-BBS" in the phonebook
and then start the dialer.
Syntax: SEND sexpr
Scope: 7/CMD
Send <sexpr> to serial port. Script execution does not continue until
after the contents of <sexpr> have been sent.
SEND "mypassword^M"
This statement will send the string "mypassword" followed by a
carriage return.
- 136 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Syntax: SPACE$(aexpr)
Scope: 8/STRING
Returns a string of spaces of length <aexpr>.
TEMP$ = "test"
RESULT$ = SPACE$(3) + TEMP$ + SPACE$(3)
PRINT CHR$(34) RESULT$ CHR$(34)
The output from this script fragment would be:
" test "
Syntax: SPASSWORD
Scope: 7/CMD
Send the password for the current phonebook entry.
WAIT "Password:"
SPASSWORD
This script fragment will halt script execution waiting for the string
"Password" to arrive from the serial port. When the string arrives it
will send the password for the current phonebook entry. This script
fragment is used by the script recorder when the entry password is
sent via [PHONEBOOK][SEND PASSWORD][Z].
Syntax: SPHONES [filespec]
Scope: 7/CMD
Save the phonebook settings to file <filespec> in the path
{PATHS}{TERMINUS}{T}. If <filespec> is omitted, the current phonebook
filename will be used.
Syntax: STR$(aexpr)
Scope: 8/STRING
Returns string of value <aexpr>.
X = 42 / 7
TEMP$ = STR$(X)
PRINT "X = " TEMP$
This script fragment will output:
X = 6
- 137 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Syntax: TRIM$(sexpr)
Scope: 8/STRING
Returns <sexpr> with trailing spaces trimmed off.
TEMP$ = " test "
RESULT$ = TRIM$(TEMP$)
PRINT CHR$(32) RESULT$ CHR$(32)
The output from this script fragment would be:
" test"
Syntax: UNSELECT
Scope: 7/CMD
Unselects all entries.
Syntax: UPLOAD [RECURSIVE] filespec [,filespec]...
Scope: 7/CMD
Use the currently selected protocol to upload one or more files (if
the currently selected protocol supports batch file transfer). The
RECURSIVE option instructs Terminus to collect files from the current
directory and all subdirectories that match <filespec>. AmigaDOS
wildcards can be used.
Some examples are:
UPLOAD WORK:files/#?.lha
This statement will collect all files in the subdirectory "files"
located on the volume WORK: that end with the postfix ".lha".
UPLOAD RECURSIVE WORK:project/#?
This statement will tag all files in the subdirectory "project"
and all files in any subdirectories below it.
However, if this example were changed to:
UPLOAD RECURSIVE WORK:project
No files would be tagged as project is a directory, but not a
fully qualified pathname to a file, wildcards or a filename must
be supplied to fully qualify the pathname.
- 138 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
When using the RECURSIVE option you should also set
{TRANSFER}{EXTENDED PATHNAMES}{X} so that the original directory
structure is preserved as each file is transferred. Of course, the
remote system must be able to handle extended pathnames in order for
this to work as expected.
Syntax: UPPER$(sexpr)
Scope: 8/STRING
Returns <sexpr> in uppercase.
STR1$ = "lowercasestring"
PRINT STR1$ " = " UPPER$(STR1$)
The result of this script fragment would be output as:
lowercasestring = LOWERCASESTRING
Syntax: VAL(sexpr)
Scope: 8/INTEGER
Return decimal value of <sexpr>.
PRINT VAL("32")
The output from this statement would be:
32
Syntax: WAIT [aexpr] [,] [sexpr] | [UNTIL HH:MM:SS]
Scope: 7/CMD
This command halts all script execution (ARexx scripts communicating
with the Terminus ARexx port too) for a specified number of seconds or
60 if <aexpr> is not supplied. If the <sexpr> argument is present
WAIT will resume script execution if it is received prior to a timeout
occurring.
WAIT can be called from ARexx scripts and will halt a currently
executing Terminus script as well as any other ARexx scripts that may
be executing simultaneously.
The ONCARRIER, ONMOUSE and ONTIMEOUT commands will clear the WAIT
condition if one occurs prior to <sexpr> being received. The
ONTIMEOUT command will be executed if the WAIT timeout occurs. Script
execution resumes with the next command if a timeout occurs and
ONTIMEOUT is not active.
- 139 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
The optional <aexpr> argument represents the number of seconds to set
the timeout timer to if the default of 60 seconds is not desired. The
value used in a prior WAIT statement does not carry over to the next
WAIT statement, if <value> is not supplied, 60 seconds will be used.
A value of 0 is valid and indicates a permanent WAIT condition that
can only be broken by the commands mentioned in the previous
paragraph.
UNTIL HH:MM:SS halts script until system clock is equal to supplied
time, which must be supplied in 24 hour format. Execution continues
once the requested time is reached. The ONCARRIER, ONMOUSE and
ONTIMEOUT statements have no effect on a WAIT UNTIL statement. This
version of the WAIT command is normally used to start an unattended
script at a specified time, most often late at night when phone rates
are the lowest.
The status line will have a WAIT indicator displayed when the script
is in a WAIT state.
An example of both forms of the WAIT command is:
WAIT UNTIL 01:00:00
Retry:
SEND "myname\r"
ONTIMEOUT GOTO Retry
WAIT 10, "Password:"
ONTIMEOUT
SEND "mypw\r"
This example would wait until 1am before executing the rest of the
script, which first sends the string "myname\r", sets an ONTIMEOUT
then waits for a maximum of 10 seconds for the remote system to
respond with the string "Password:". If the WAIT command times out
then the ONTIMEOUT is executed which relocates execution to the label
"Retry", otherwise the script disables the ONTIMEOUT and sends the
string "mypw\r".
WAIT can also be used with ARexx, but it's operation is slightly
different. You will need to check the returned value after the WAIT
returns to the ARexx script in order to determine the result. There
are four return values, which are"
"KILL" A major event occurred within Terminus that has
resulted in an RC_FAIL category return code. The
following are the usual causes of a KILL return value:
[SCRIPT][START...][s]
[SCRIPT][STOP][t]
[SCRIPT][KILL REXX MACROS][k]
[PROJECT][QUIT][Q]
- 140 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
The reason a script can kill an ARexx WAIT attempt is
due to the fact that only a Terminus script or an ARexx
script can be WAITing for an input string to be
matched.
"TIMEOUT" This string is returned whenever the WAIT times out.
"QUIET" This is returned when a WHEN QUIET condition has been
satisfied.
0-31 A numeric return code represents a string match. The
value 0 is used for the WAIT command while 1 through 31
is for an active WHEN command.
Syntax: WHEN {ALL | {{QUIET [num] | 1-31 [sexpr]} [GOTO label | SEND
sexpr]}
Scope: 7/CMD
Terminus provides a powerful string matching processor that can
monitor the input data stream for up to 32 simultaneous 25 character
strings (31 with the WHEN command here and one with the WAIT command
described above).
The WHEN command can be called from ARexx scripts too. It's operation
is slightly different then when it is used with a Terminus script.
When used with a Terminus script a string match (case is sensitive
here) will either send a response string or will transfer script
execution to a new location within the script. When used with an
ARexx script the GOTO or SEND is ignored and a numeric return value is
passed back to ARexx equivalent to the matched WHEN string. In order
to receive this value the ARexx script must have an active WAIT
command.
There is also one other WHEN command that will send a response or
alter script execution after the input stream has been quiet for a
specified number of seconds or for one second if <num> is not
supplied. When used with ARexx a WHEN QUIET will return the string
"QUIET", but only if a WAIT is active.
The first WHEN command syntax is:
WHEN ALL
This version of the WHEN command will clear all 31 WHEN strings and
the QUIET feature.
- 141 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
The next variation of WHEN is:
WHEN QUIET [[num] {GOTO label | SEND sexpr}
This WHEN command will activate the QUIET feature and will be executed
after <num> seconds, or one second if not present.
The last version of the WHEN command is:
WHEN 1-31 [sexpr {GOTO label | SEND sexpr}]
This command syntax deals with the string matching processor. If the
string number alone is present then that string will be disabled.
Otherwise, <sexpr> will be set in the match processor and the
associated command will be executed whenever the string is received.
If a WHEN command that has a GOTO statement as it's action argument is
matched, script execution will continue at the label the GOTO points
to and all WHEN strings and the QUIET feature will be deactivated as
well as clearing a WAIT condition if active.
If a WAIT condition is in effect when a WHEN occurs that uses a SEND
command as its action argument, the WAIT timer count will be reset to
the starting value. This will prevent a WAIT timeout from occurring
if WHEN strings are received during the WAIT.
Syntax: WHILE cond
statement(s)
...
WEND
Scope: 8/CMD
Execute intervening <statement(s)> while <cond> is non zero.
Syntax: WRITE #fnum {var | svar | num | string},...
Scope: 8/CMD
Write data to file <fnum> which must be opened for output or
appending, an error will occur otherwise.
- 142 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Syntax: XLATE {RESET {IN | OUT}} | {IN | OUT} aexpr1, aexpr2
Scope: 7/CMD
Set incoming or outgoing character translation for character aexpr1 to
aexpr2 or reset all characters in the translation table.
XLATE RESET IN
XLATE IN 7, 42
This script fragment will first reset the incoming character
translation table and then set it to translate a BEL (0x07) character
to a '*' character.
- 143 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
30 OPTION VARIABLE DESCRIPTIONS
-------------------------------
Option variables do not have the same freedom that a "real" script variable
has. Although most can be used within a script as a regular variable, they
are most often found in defaults, definition and phonebook files. When
used in those three files however, they can only be assigned with simple
numeric or quoted string arguments and not with script statements.
There are a few options that are listed as a CMD, they are not actually a
command in the sense of a script command, they are a conglomerate of
several options that are tightly integrated. The DISPLAY option is a
perfect example of a CMD option.
Any options listed below that do not have their assignment arguments
enclosed in brackets means that it cannot be used within a script or ARexx
file.
Syntax: AFKEY1-10$ [= string]
Scope: 4/STRING
Default: ""
Sets the macro for <ALT><F1-10> to <string>.
Syntax: ANSWERBACK$ [= string]
Scope: 3/STRING
Default: ""
Sets the string that Terminus will send in response to an ENQ
character (0x05) when received in VTxxx emulation mode.
Syntax: AUDIOBEEP [= boolean]
Scope: 1/FLAG
Default: OFF
Determines whether or not Terminus will use the display flash of
Intuition or sound a bell when either an error or a BEL (0x07)
character is received by the console. This option also controls the
handling of a received BEL (^G) character as well.
- 144 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Syntax: AUTOBAUD [= boolean]
Scope: 1/FLAG
Default: OFF
When this opinion is active (ON/TRUE), the dialer will adjust
Terminus' baud rate to the connect rate indicated in the CONNECT
response sent by the modem after a connection is established. The
modem must be capable of sending extended result codes for this option
to work properly. Please refer to the discussion of the dialer for
more information.
Syntax: AUTOCHOP [= boolean]
Scope: 2/FLAG
Default: OFF
When this option is active (ON/TRUE), it will try to remove any
padding that may have been added to the last block of an X/YMODEM
download.
Syntax: AUTODL [= boolean]
Scope: 2/FLAG
Default: OFF
If active (ON/TRUE), this option will allow for automatic ZMODEM
downloads to take place.
Syntax: AUTOREPEAT [= boolean]
Scope: 3/FLAG
Default: ON
Enables repeat key action when on.
Syntax: AUTOWRAP [= boolean]
Scope: 3/FLAG
Default: ON
Sets the line wrap option of the console. When active (ON/TRUE),
AUTOWRAP will cause the console to skip to the first column of the
next line and scroll the screen if necessary. AUTOWRAP is not
intelligent, it is not the same (but is often confused with) the word
wrap option that is commonly found in word processors.
- 145 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Syntax: BAUD [= {110 | 300 | 600 | 1200 | 2400 | 4800 | 9600 | 19200
31250 | 38400 | 57600 | 115200}]
Scope: 2/MUX
Default: 2400
Sets the baud rate for use with Terminus.
Syntax: BINARYXFER [= boolean]
Scope: 2/FLAG
Default: ON
When active (ON/TRUE), it makes Terminus send and receive all files
via file transfer protocol without doing any EOL conversion.
Syntax: BIT7MODE [= boolean]
Scope: 3/FLAG
Default: OFF
This option determines if 7 bit or 8 bit ANSI codes are sent when
using the Amiga or VT-220 emulation modes. 7 bit codes are always
sent when using VT-102 or IBM ANSI emulations.
Syntax: BLINK [= boolean]
Scope: 3/FLAG
Default: OFF
BLINK determines whether the console cursor will blink or not.
Syntax: BREAKLEN [= num]
Scope: 1/INTEGER:0-1000
Default: 250
Sets the length of a BREAK signal in milliseconds.
Syntax: BSDESTRUCT [= boolean]
Scope: 3/FLAG
Default: OFF
This option determines whether a backspace is destructive (the
character(s) backed over by the cursor will be deleted or not. This
option is normally associated with VTxxx emulations.
- 146 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Syntax: CAPTUREPATH$ [= dirspec]
Scope: 1/STRING
Default: "RAM:"
This path is used by Terminus for capture files.
Syntax: CFKEY1-10$ [= string]
Scope: 4/STRING
Default: ""
Sets the macro for <CTRL><F1-10> to <string>.
Syntax: CHARDELAY [= num]
Scope: 2/INTEGER:0-1000
Default: 0
When non-zero, this option will pace each transmitted character in
ASCII send mode by this number of 1/100th seconds.
Syntax: CHARPACE [= boolean]
Scope: 2/FLAG
Default: OFF
When this option is active (ON/TRUE), it will cause the Terminus to
pace each character that is sent to the modem during a dialing
operation.
Syntax: CHATHISTORY [= num]
Scope: 1/INTEGER:10-100
Default: 50
Sets the number of chat history lines that Terminus will save while in
chat mode.
Syntax: CHATLINES [= num]
Scope: 1/INTEGER:3-(ROWS - 2)
Default: 3
Sets the number of lines available while in chat mode. The maximum
size is equal to the height of the display minus 2.
- 147 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Syntax: CHATMODE [= boolean]
Scope: 3/FLAG
Default: OFF
This option activates the chat mode of the console. When active
ON/TRUE), CHATMODE adjusts the console so that the bottom three lines
are used as a chat editor. The string entered in the chat area will
not be sent until the <RETURN> key is pressed.
Syntax: CHIPMIZER [= boolean]
Scope: 1/FLAG
Default: OFF
The CHIPMIZER option instructs Terminus to use a type of window
refresh that uses much less chip memory. Of course, it takes much
longer to refresh the display in this case. If Terminus detects that
the system it is running on an Amiga with less than 512k of free chip
ram, it will activate this option automatically.
Syntax: COLMN132 [= boolean]
Scope: 3/FLAG
Default: OFF
When this option is set the VT-102 and VT-220 emulations will use a
132 column display.
Syntax: CRC32 [= boolean]
Scope: 2/FLAG
Default: OFF
This option, when active (ON/TRUE), causes ZMODEM transfers to use a
32 bit CRC error check instead of a 16 bit CRC.
Syntax: CRXLATE [= {LEAVE | STRIP | ADDLF}]
Scope: 3/MUX
Default: LEAVE
This option determines what action Terminus will have on received
carriage returns.
- 148 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Syntax: CTSRTS [= boolean]
Scope: 1/FLAG
Default: OFF
This option tells Terminus to use CTS/RTS (hardware) flow control if
active (ON/TRUE).
Syntax: CURSORMODE [= boolean]
Scope: 3/FLAG
Default: OFF
This option is only active in the VTxxx emulations. It determines the
state of the cursor key mode. Application mode is active when this
option is active (ON/TRUE).
Syntax: CURSORPOS [= boolean]
Scope: 3/FLAG
Default: OFF
This when TRUE, enables the status line cursor position display.
Syntax: DARESPONSE [= {VT52 | VT100 | VT102 | VT220}]
Scope: 3/MUX
Default: VT220
Sets the type of response code that Terminus will send when a DA
sequence is received. Only used in VTxxx emulations.
Syntax: DATALEN [= {7 | 8}]
Scope: 2/INTEGER
Default: 8
Sets the word length for serial data.
Syntax: DATEFMT [= {MM/DD/YY | DD-MM-YY | DD.MM.YY}]
Scope: 1/MUX
Default: MM/DD/YY
This option tells Terminus which format to use when displaying or
printing dates.
- 149 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Syntax: DEFFILE$ [= string]
Scope: 3/STRING
Default: "default.con"
The option is normally only used in a .def file. It instructs
Terminus to load the desired .con file. The use of this command
outside of .def files has no effect, but will change the title of the
console definition gadget pair in the console requester. Please refer
to the discussion on console definition files for a detailed
explanation on their use.
Syntax: DIALATTEMPTS [= num]
Scope: 1/INTEGER:1-999
Default: 15
Defines the number of attempts that the dialer will try for each
selected phonebook entry before exiting the dialer.
Syntax: DIALPACING [= num]
Scope: 1/INTEGER :0-100
Default: 0
Defines the number of milliseconds to pace each character sent to the
modem during dialing.
Syntax: DIALTIMEOUT [= num]
Scope: 1/INTEGER:0-300
Default: 30
Defines the number of seconds to wait for a response after sending a
dial command to the modem.
Syntax: DISKSPACE [= boolean]
Scope: 1/FLAG
Default: OFF
The DISKSPACE option tells Terminus to first check the amount of free
space on the target drive/volume prior to initiating a file download.
If the amount of free space is less than the size of the file to be
received, Terminus will abort the transfer. This option must be
disabled (OFF/FALSE) if transfers to devices (such as RAM:) are going
to occur since these devices always report that there is no free space
available.
- 150 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Syntax: DISPCTRLS [= boolean]
Scope: 3/FLAG
Default: OFF
Used only in VT-220 emulation. When TRUE, this option instructs
Terminus to not process incoming data and to display all control codes
as single characters.
Syntax: DISPID [= num]
Scope: 3/INTEGER
Default: 0
Enter the decimal value of a display mode ID in the .con console
definition file if you want Terminus to open on a different type of
screen then CUSTOM.
Syntax: DISPLAY [= {WORKBENCH | {2 | 4 | 8 | 16 | 32} COLOR} rows cols
[ILACE]]
Scope: 3/CMD
Default: WORKBENCH 25 80
This option command sets the size and depth of the screen that
Terminus will open its console on. If <rows> and/or <cols> are set to
a value of -1 Terminus will open a borderless console window/screen
combination equal to the current size of the Workbench screen. If the
screen type is set to WORKBENCH, a full-size, bordered window will be
opened instead. If the requested <rows> and/or <cols> is too large
Terminus will adjust as if a -1 value was used.
Syntax: DISPMODE = {NAME | COMMENT | DATE}
Scope: 5/MUX
Default: NAME
The state of this option determines which parameters are shown for the
entries in the phonebook requester.
Syntax: DLCHALLENGE [= boolean]
Scope: 2/FLAG
Default: OFF
When active (ON/TRUE), and AUTODL is also enabled, this option will
cause a ZMODEM download to verify that the remote is really ready to
send a file with this protocol.
- 151 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Syntax: DOORWAY [= boolean]
Scope: 3/FLAG
Default: OFF
This option is used in conjunction with the IBM ANSI emulations, COLOR
or MONO. DOORWAY is a method of sending keyboard sequences that
cannot be sent using the ASCII character set code. As such, function
key macros are disabled in this mode since full keyboard transparency
is required. It also makes little sense to use this feature when not
connected to a remote PeeCee system that is not running the Doorway
utility.
Syntax: DOWNLOADPATH$ [= dirspec]
Scope: 1/STRING
Default: "RAM:"
This path is used by Terminus for downloaded files.
Syntax: DTRHANGUP [= boolean]
Scope: 1/FLAG
Default: OFF
This option decides whether to use DTR signal hangup or command string
hangup. DTR hangup is preferred if the modem is able to recognize a
drop of the DTR signal and go on hook because this is much faster than
using the command string method.
Syntax: DUPLEX [= {FULL | HALF | ECHO}]
Scope: 2/MUX
Default: FULL
Sets the duplex mode for Terminus.
Syntax: EMULATION [= {TTY | AMIGA | COLOR | MONO | VT100 | VT102 |
VT220}]
Scope: 3/MUX
Default: AMIGA
Sets the console emulation mode.
Syntax: EOLOUT [= {CR | LF | CRLF}]
Scope: 3/MUX
Default: CR
Set the end-of-line mode.
- 152 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Syntax: ESCCTRL [= boolean]
Scope: 2/FLAG
Default: OFF
Causes ZMODEM transfers to escape all 32 control characters when
transferring files when active (ON/TRUE).
Syntax: EXITHANGUP [= boolean]
Scope: 1/FLAG
Default: ON
This option, when active (ON/TRUE), instructs the dialer to perform a
hangup operation if the dialer exits without having made a connection.
Syntax: EXPANDBLANKS [= boolean]
Scope: 2/FLAG
Default: OFF
When this option is active (ON/TRUE), it causes ASCII sends to send
one SPC (0x20) character before sending the EOL sequence.
Syntax: FASTCURSOR [= boolean]
Scope: 3/FLAG
Default: OFF
Terminus will use a sprite based, underline cursor when this option is
active (ON/TRUE).
Syntax: FILESAVE [= boolean]
Scope: 1/FLAG
Default: OFF
This option, when active (ON/TRUE), closes and then reopens all files
during a file transfer. The advantage of the method assures you of
not losing the whole file if a system crash occurs before the file
transfer completes. The disadvantage is that large files and transfers
to slow devices (floppy and floptical disk) are slowed down
considerably due to the need for the filesystem to seek to the end of
the file when it is reopened after every close.
- 153 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Syntax: FKEY1-10$ [= string]
Scope: 4/STRING
Default: ""
Sets the macro for <F1-10> to <string>. These macros may be
overridden depending on the emulation in use.
Syntax: FLUSHONBREAK [= boolean]
Scope: 1/FLAG
Default: OFF
If active (ON/TRUE), this option makes Terminus flush any serial data
waiting to be processed when a BREAK signal is sent.
Syntax: FONT$ [= string]
Scope: 3/STRING
Default: "topaz 8"
Sets the font to be used by the console. The <string> argument is a
combination of the root fontname and its height.
Syntax: GMTOFFSET [= num]
Scope: 1/INTEGER:(-12) - 13
Default: 13
Sets the Greenwich Mean Time (GMT) offset for use with ZMODEM and
YMODEM file transfers.
Syntax: HR24MODE [= boolean]
Scope: 1/FLAG
Default: OFF
When active (ON/TRUE), Terminus will display the system time in 24
hour mode. A 12 hour am/pm display is used otherwise.
Syntax: IGNOREDCD [= boolean]
Scope: 1/FLAG
Default: OFF
This option determines if Terminus will ignore the state of the
carrier detect (DCD) signal during dialing and file transfer
operations. When inactive (OFF/FALSE), Terminus will abort a file
transfer. When active, Terminus will abort an attempt to dial.
- 154 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Syntax: IGNORENOCARRIER [= boolean]
Scope: 1/FLAG
Default: OFF
When active (ON/TRUE), this option instructs the dialer to ignore NO
CARRIER responses. This is most effective for modems that cannot
reliably detect a BUSY signal and end up timing out which results in a
NO CARRIER message. Normally, when a NO CARRIER is received from a
properly functioning modem, it indicates that the remote system is not
answering the phone call. After three NO CARRIER responses, the
dialer will deselect the phone entry and continue on with dialing any
other selected entries.
Syntax: IGNOREODU [= boolean]
Scope: 2/FLAG
Default: OFF
When this option is active (ON/TRUE), it causes Terminus to bypass
handshaking with the OwnDevUnit.library for arbitration of access to
the serial device.
Syntax: KEYMAP$ [= filespec]
Scope: 3/STRING
Default: ""
Sets the keymap that will be used by the console to decode keyboard
input.
Syntax: KEYPADMODE [= boolean]
Scope: 3/FLAG
Default: OFF
Used in VT-xxx emulations only.
Syntax: LFXLATE [= {LEAVE | STRIP | ADDCR}]
Scope: 3/MUX
Default: LEAVE
This option controls the action of Terminus on received linefeeds.
- 155 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Syntax: LIGHTSCREEN [= boolean]
Scope: 3/FLAG
Default: OFF
Used in VT-xxx emulations only. When TRUE, this option will put
Terminus in reverse video mode.
Syntax: LINEDELAY [= num]
Scope: 2/INTEGER:0-1000
Default: 0
When non-zero, ASCII sends will pace wait this number of 1/100th
seconds before sending the next line.
Syntax: LOGFILE [= boolean]
Scope: 1/FLAG
Default: OFF
When active (ON/TRUE), this option allows the appending of information
to the logfile, if defined.
Syntax: MAKEICONS [= boolean]
Scope: 1/FLAG
Default: ON
This option when active (ON/TRUE) will cause Terminus to generate icon
(.info) files when it creates files.
Syntax: MASTERPW$ = string
Scope: 5/STRING
Default: ""
This string is used by the phonebook entry automatic password
generator. This feature is disabled if the password is not defined.
Syntax: MODEMHANGUPCMD$ [= string]
Scope: 1/STRING
Default: "~~~+++~~~ATH^M"
If DTRHANGUP is not active this command string will be sent to the
modem instead.
- 156 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Syntax: MODEMINITCMD$ [= string]
Scope: 1/STRING
Default: "ATZ^M~~~ATE1 Q0 V1 X4^M"
This command string is sent to the modem when first starting Terminus.
It is not sent if a carrier detect (DCD) signal is present at startup.
Syntax: MODEMPOSTFIX$ [= string]
Scope: 1/STRING
Default: "^M"
Defines the character or command string that is sent to the modem
after a phonebook entry phone number is sent.
Syntax: MODEMPREFIX1-4$ [= string]
Scope: 1/STRING
Default: "ATDT"
Defines the command string that is sent to the modem before sending
the phone number for a phonebook entry.
Syntax: MONITOR = boolean
Scope: 5/FLAG
Default: OFF
When this option is TRUE the dialer will echo all modem responses to
the screen while dialing.
Syntax: MOUSEPACE = boolean
Scope: 3/FLAG
Default: OFF
When active (ON/TRUE), this option alters ANSI mouse sequence output
so that it is paced to prevent buffer overruns for those systems that
cannot handle large amounts of data being received at once.
Syntax: NLMODE [= boolean]
Scope: 3/FLAG
Default: OFF
Used in VT-xxx emulations only. When TRUE this option sends a newline
rather than a carriage return.
- 157 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Syntax: NRCTYPE [= {ASCII | BRITISH | FLEMISH | FRCAN | DANISH |
FINNISH | GERMAN | DUTCH | ITALIAN | SWISSFR | SWISSGRM
| SWEDISH | NORWEGIAN | FRBELGIAN | SPANISH}]
Scope: 3/MUX
Default: ASCII
Used in VT-xxx emulations only. Determines which National Replacement
character set.
Syntax: PALETTE [= {WORKBENCH | VLT | COLOR | MONO | CUSTOM}]
Scope: 3/MUX
Default: WORKBENCH
Sets the palette used by the console. Palette choice will be reset to
WORKBENCH if DISPLAY is set to WORKBENCH.
Syntax: PARITY [= {NONE | EVEN | ODD | MARK | SPACE}]
Scope: 2/MUX
Default: NONE
Sets the parity mode for Terminus.
Syntax: PATHEXTEND [= boolean]
Scope: 2/FLAG
Default: OFF
When this option is active (ON/TRUE), ZMODEM and YMODEM file transfers
will send (and receive) fully qualified pathnames so that entire
directory structures can be transmitted. The remote system must be
able to handle extended pathname processing for this feature to work.
Syntax: PECAPTURE$ = string
Scope: 6/STRING
Tells Terminus what the name of the capture file is and to open it in
append mode when a connection is made.
Syntax: PECENTS = num
Scope: 6/INTEGER:0-1000
This value is used by Terminus to increment the money meter while
connected to the system that this phonebook entry called.
- 158 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Syntax: PECOMMENT$ = string
Scope: 6/STRING
Used by the phonebook for display purposes only when the COMMENT
display mode option is in effect.
Syntax: PEDATE = num
Scope: 6/INTEGER
The PEDATE option is for system use only, do not alter.
Syntax: PEDEFFILE$ = string
Scope: 6/STRING
Tells Terminus which console definition file to use (if defined) when
a connection is made.
Syntax: PENAME$ = string
Scope: 5/STRING
The name of the phonebook entry. This option signals the phonebook
loader to create a new phonebook entry and to assign all following
options to this entry until another PENAME$ is encountered.
Syntax: PENUMBER1-4$ = string
Scope: 6/STRING
The phonenumber (up to four) that the dialer will attempt calling
while dialing.
Syntax: PEPASSWORD$ = string
Scope: 6/STRING
The password string that a <LAMIGA><Z> will transmit while a carrier
is present.
Syntax: PEPREFIX = {1 | 2 | 3 | 4}}
Scope: 6/MUX
This option tells the dialer which dialer prefix to use when
attempting a call.
- 159 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Syntax: PEPWLEN = num
Scope: 6/INTEGER:0-20
This option tells the phonebook editor the length of generated
passwords.
Syntax: PERESET = boolean
Scope: 6/FLAG
Tells Terminus to reset the money/connect time meter when a connection
is first established.
Syntax: PESCRIPT$ = string
Scope: 6/STRING
The name of the script that will be executed (if defined) when a
connection is first established.
Syntax: POPUP [= boolean]
Scope: 1/FLAG
Default: ON
This option tells Terminus to pop to the front whenever an event
occurs.
Syntax: PORTQUIET [= boolean]
Scope: 1/FLAG
Default: OFF
When this option is active (ON/TRUE), it will disable reads of the
serial device so that other applications may use the same device.
Syntax: PREACKDL [= boolean]
Scope: 2/FLAG
Default: OFF
When active (ON/TRUE), this option will send an acknowledgement at the
beginning of every X/YMODEM data block. It compromises error
recovery, so it should only be used with error correcting modems.
- 160 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Syntax: PRESCROLL [= num]
Scope: 3/INTEGER:0-12
Default: 0
This value controls the maximum number of lines the display will
scroll each time the cursor reaches the bottom of the screen based on
looking ahead into the incoming data buffer.
Syntax: PRINTERPATH$ [= filespec]
Scope: 1/STRING
Default: "PRT:"
Defines what <filespec> (can be a disk filename) will be used to send
printer output to.
Syntax: PROMPTCHAR [= num]
Scope: 2/INTEGER:0-255
Default: 0
When non-zero, this option will cause ASCII sends to wait for a
received character that matches the value set to after every linefeed
is sent.
Syntax: PROTOCOL [= {XMODEM | XMODEM-CRC | XMODEM-1k | YMODEM |
YMODEM-1k | YMODEM-g | ZMODEM | XPR}]
Scope: 2/MUX
Default: XMODEM
Sets the protocol for use with file transfers. XPR uses the XPRNAME
and XPRINIT options to define which XPR library to use.
Syntax: PUBLICSCREEN [= boolean]
Scope: 3/FLAG
Default: FALSE
When this option is active (ON/TRUE), custom screens will be opened as
full-size (same as the Workbench screen) public screens. For use with
release 2 of the operating system, has no effect with earlier
releases.
- 161 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Syntax: QUOTELEN [= num]
Scope: 1/INTEGER:2-400
Default: 75
Determines the length of each line of quoted data that is sent from
the clipboard. Each line is actually <num> - 1 in length as each line
is prefixed with QUOTESTRING described below.
Syntax: QUOTESTRING [= string]
Scope: 1/STRING
Default: ">"
Sets the character to be used when sending quoted data from the
clipboard. Each quoted line will be prefixed with this string and
will be trimmed as per QUOTELEN described above.
Syntax: RAWCAPTURE [= boolean]
Scope: 3/FLAG
Default: FALSE
When this option is active (ON/TRUE), it will capture all received
data instead of the text-only lines in the review buffer that are
normally captured.
Syntax: REDIALDELAY [= num]
Scope: 1/INTEGER:0-600
Default: 60
Defines the number of seconds to wait before restarting a dial attempt
loop for all selected phonebook entries.
Syntax: RELAXEDTIMING [= boolean]
Scope: 2/FLAG
Default: ON
When active (ON/TRUE), this option lengthens the timeouts for X/YMODEM
file transfers.
Syntax: RESPONSEBUSY$ [= string]
Scope: 1/STRING
Default: "BUSY"
Defines the string that the modem sends for a BUSY response.
- 162 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Syntax: RESPONSECONNECT$ [= string]
Scope: 1/STRING
Default: "CONNECT"
Defines the string that the modem sends for a CONNECT response.
Syntax: RESPONSEERROR$ [= string]
Scope: 1/STRING
Default: "ERROR"
Defines the string that the modem sends for an ERROR response.
Syntax: RESPONSENOCARRIER$ [= string]
Scope: 1/STRING
Default: "NO CARRIER"
Defines the string that the modem sends for a NO CARRIER response.
Syntax: RESPONSENODIALTONE$ [= string]
Scope: 1/STRING
Default: "NO DIALTONE"
Defines the string that the modem sends for a NO CARRIER response.
Syntax: RESPONSEOK$ [= string]
Scope: 1/STRING
Default: "OK"
Defines the string that the modem sends for an OK response.
Syntax: RESPONSERING$ [= string]
Scope: 1/STRING
Default: ""
Defines the string that the modem sends for a RING response.
Syntax: RESPONSEVOICE$ [= string]
Scope: 1/STRING
Default: "VOICE"
Defines the string that the modem sends for an VOICE response.
- 163 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Syntax: REVIEWBUF [= num]
Scope: 1/INTEGER:1-500
Default: 16
Sets the size of the review buffer in 1k (1024) byte blocks.
Syntax: REVIEWLINES [= num]
Scope: 1/INTEGER:1-500
Default: 12
Sets the size of the review buffer window.
Syntax: REXXPATH$ [= dirspec]
Scope: 1/STRING
Default: "REXX:"
This path is used by Terminus to locate .trx ARexx script files.
Syntax: SAVEABORTED [= boolean]
Scope: 2/FLAG
Default: ON
When active (ON/TRUE), this option will not delete any aborted
downloads.
Syntax: SCRIPTPATH$ [= dirspec]
Scope: 1/STRING
Default: "S:"
This path is used by Terminus to locate .scp script files.
Syntax: SERDEV$ [= string]
Scope: 1/STRING
Default: "serial.device 0"
Defines the serial device and unit to use with Terminus.
- 164 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Syntax: SETCOLOR2 = values
SETCOLOR4 = values
SETCOLOR8 = values
SETCOLOR16 = values
SETCUSTOM2 = values
SETCUSTOM4 = values
SETCUSTOM8 = values
SETMONO2 = values
SETMONO4 = values
SETMONO8 = values
SETWORKBENCH = values
values: p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14
p15 p16 p17 i0 i1 i2 i3 i4 i5 i6 i7 c0 c1 c2 c3 c4 c5 c6 c7
c8 c9 c10 c11 c12 c13 c14 c15
Scope: 1/CMD
Sets the contents of a palette, all values must be present in the
order shown and formatted as:
p0-p17 - pen values, decimal range 0-15 for desired color register.
p0 - requester detail pen.
p1 - requester block pen.
p2 - requester shine pen.
p3 - requester shadow pen.
p4 - requester text pen.
p5 - display text pen.
p6 - display background pen.
p7 - display cursor pen.
p8 - review text pen.
p9 - review background pen.
p10 - review cursor pen.
p11 - chat text pen.
p12 - chat background pen.
p13 - chat cursor pen.
p14 - requester shine pen.
p15 - requester shadow pen.
p16 - menu text pen. (Present with WB3.0 only)
p17 - menu background pen. (Present with WB3.0 only)
i0-i7 - ANSI color indexes, decimal range 0-7, no duplications.
c0-c15 - color registers, RGB hexadecimal format; 000-FFF.
There may be less than 16 or even 0 cX color register values present,
depending on the palette being defined and the color depth. The
WORKBENCH palette has no color register values and there are 2, 4, 8
or 16 register values present depending on the palette being set.
- 165 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Syntax: SFKEY1-10$ [= string]
Scope: 4/STRING
Default: ""
Sets the macro for <SHIFT><F1-10>.
Syntax: SKIPNOTLOCAL [= boolean]
Scope: 1/FLAG
Default: OFF
Use with ZMODEM file transfers. When this option is active (ON/TRUE),
it will cause the receiving system to bypass any file that is not
already present.
Syntax: SLOWDISK [= boolean]
Scope: 1/FLAG
Default: OFF
When this option is TRUE it halts serial I/O prior to writing to the
disk This option should be activated if data errors occur when
downloading to disk.
Syntax: SMALLBLOCKS [= boolean]
Scope: 1/FLAG
Default: OFF
When this option is TRUE it breaks up all disk file writes to 512 byte
blocks instead of writing the entire block in one write. This option
should be activated if data errors occur when downloading to disk.
Syntax: SMOOTH [= boolean]
Scope: 3/FLAG
Default: OFF
This setting determines the state of the smooth scrolling option.
Please be aware that this option is "expensive", it requires a lot of
chip ram resources to perform and can seriously effect the throughput
abilities of the console.
Syntax: SORTMODE [= {NAME | NUMBER | DATE | SELECT}]
Scope: 5/MUX = {NAME | COMMENT | DATE}
Default: NAME
The setting of this option determines how the phonebook entries are
sorted and displayed on the screen. All sorts are in descending
order.
- 166 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Syntax: STATUSLINE [= boolean]
Scope: 3/FLAG
Default: ON
When this option is active (ON/TRUE), it displays a status line in the
display. The location of the status line is determined by
TITLESTATUS.
Syntax: STOPBITS [= num]
Scope: 2/INTEGER:1-2
Default: 1
Sets the number of stop bits to use with the serial device.
Syntax: STRIP [= boolean]
Scope: 3/FLAG
Default: OFF
Sets the state of the 8th bit strip option for received characters to
the console. This option has no effect on file transfers. It is not
recommended to have this option active (ON/TRUE) when using the COLOR
or MONO emulations if you wish to see the IBM graphics characters used
with that emulation.
Syntax: SWAPBS [= boolean]
Scope: 3/FLAG
Default: OFF
Sets the state of the swap backspace option. This is normally used
only with the VTxxx emulations. When active (ON/TRUE), this option
causes Terminus to transmit a BS (0x09) when the DEL> key is pressed
and to send a DEL (0x7F) when the <BS> key is pressed.
Syntax: TASKPRI [= num]
Scope: 1/INTEGER:(-20)-15
Default: 0
Sets the priority that all Terminus processes will run at. This value
overrides any previous CLI task priority that Terminus may have been
started at.
- 167 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Syntax: TERMINUSPATH$ [= dirspec]
Scope: 1/STRING
Default: "S:"
This path option is used by Terminus to find .def and .con files as
well as the terminus.scp startup script.
Syntax: TITLEBAR [= boolean]
Scope: 3/FLAG
Default: OFF
This option when active (ON/TRUE), puts a screen title on custom
Terminus screens that are not public.
Syntax: TITLESTATUS [= boolean]
Scope: 3/FLAG
Default: ON
When active (ON/TRUE), this option causes the status line to be
rendered in the title bar area of the screen or window instead of
occupying the bottom line in the display.
Syntax: UPLOADPATH$ [= dirspec]
Scope: 1/STRING
Default: "RAM:"
This path tells Terminus where to look for files to upload.
Syntax: WINDOWSIZE [= num]
Scope: 2/INTEGER:0-64
Default: 0
When non-zero, this option will cause ZMODEM transfers to require an
acknowledge after every number of 1k blocks.
- 168 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Syntax: WINPOSX [= num1 num2]
Scope: 3/INTEGER:0-64
Default: 0
Sets or returns the top <num1> and left <num2> screen coordinates of
various Terminus requesters where <X> is equal to:
0 - Main display
1 - Serial settings requester
2 - Dialer requester
3 - File transfer status requester
4 - Phonebook requester
5 - Phoneentry editor requester
6 - About requester
7 - Review window
8 - XPR library requester
9 - XPR options requester
10 - Transfer settings requester
11 - Macros requester
12 - Palette requester
13 - Paths requester
14 - Modem settings requester
15 - Port settings requester
16 - General settings requester
17 - Console settings requester
18 - VT-xx options requester
19 - Iconify window
Syntax: XFERBUF [= num]
Scope: 1/INTEGER:1-32
Default: 8
Sets the size of the file transfer buffer in 1k (1024) byte blocks.
Syntax: XONXOFF [= boolean]
Scope: 2/FLAG
Default: OFF
When active (ON/TRUE), this option enables XON/XOFF (software) flow
control in Terminus.
Syntax: XPRINIT$ [= string]
Scope: 2/STRING
Default: ""
XPR protocol initialization string. If this string is not defined
when the XPR library is opened Terminus will search your ENV:
directory for an environment variable with the same name as the root
name of the library being opened. If the variable is found it will be
read into this option variable. Once assigned, Terminus will not
- 169 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
search for an environment variable unless you delete the current value
beforehand.
Syntax: XPRNAME$ [= filespec]
Scope: 2/STRING
Default: ""
XPR protocol library name.
Syntax: ZMODE [= {IGNORE | NEWER/LONGER | CRC | APPEND | OVERWRITE |
NEWER | DIFFERENT | PROTECT | RENAME}]
Scope: 2/MUX
Default: IGNORE
Sets the mode that ZMODEM will send files in.
Syntax: ZRESUME [= boolean]
Scope: 2/FLAG
Default: OFF
When active (ON/TRUE), this option tells a ZMODEM file transfer to
attempt a transfer recovery for partially received/sent files.
- 170 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
31 SORTED OPTIONS AND COMMANDS
------------------------------
31.1 KEYWORDS
-------------
ALL
AND
APPEND
COLOR
IN
LOCAL
NOT
OR
OUT
OUTPUT
QUIET
RECURSIVE
RESET
SAVE
STEP
TO
WORKBENCH
XOR
31.2 READ ONLY VARIABLES
------------------------
ABORTREMOTE
ABORTXFER
CARRIER
COL
COLORS
COLS
DATE$
FALSE
FONTHEIGHT
FONTNAME$
ILACE
MCOL
MROW
OFF
ON
ROW
ROWS
TIME$
TRUE
- 171 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
31.3 READ/WRITE VARIABLES
-------------------------
BPEN
CPEN
CURSOR
ICONIFY
LOGOFF$
REQUEST
TIMER
TPEN
TRACE
31.4 LEVEL 1 OPTION VARIABLES
-----------------------------
AUDIOBEEP [= boolean]
AUTOBAUD [= boolean]
BREAKLEN [= num]
CAPTUREPATH$ [= dirspec]
CHATHISTORY [= num]
CHATLINES [= num]
CHIPMIZER [= boolean]
CTSRTS [= boolean]
DATEFMT [= {MM/DD/YY | DD-MM-YY | DD.MM.YY}]
DIALATTEMPTS [= num]
DIALPACING [= num]
DIALTIMEOUT [= num]
DISKSPACE [= boolean]
DOWNLOADPATH$ [= dirspec]
DTRHANGUP [= boolean]
EXITHANGUP [= boolean]
FILESAVE [= boolean]
FLUSHONBREAK [= boolean]
GMTOFFSET [= num]
HR24MODE [= boolean]
IGNOREDCD [= boolean]
IGNORENOCARRIER [= boolean]
LOGFILE [= boolean]
MAKEICONS [= boolean]
MODEMHANGUPCMD$ [= string]
MODEMINITCMD$ [= string]
MODEMPOSTFIX$ [= string]
MODEMPREFIX1-4$ [= string]
POPUP [= boolean]
PORTQUIET [= boolean]
PRINTERPATH$ [= filespec]
QUOTELEN [= num]
QUOTESTRING [= string]
REDIALDELAY [= num]
RESPONSEBUSY$ [= string]
RESPONSECONNECT$ [= string]
RESPONSEERROR$ [= string]
RESPONSENOCARRIER$ [= string]
- 172 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
RESPONSENODIALTONE$ [= string]
RESPONSEOK$ [= string]
RESPONSERING$ [= string]
RESPONSEVOICE$ [= string]
REVIEWBUF [= num]
REVIEWLINES [= num]
REXXPATH$ [= dirspec]
SCRIPTPATH$ [= dirspec]
SERDEV$ [= string]
SETCOLOR2 = values
SETCOLOR4 = values
SETCOLOR8 = values
SETCOLOR16 = values
SETCUSTOM2 = values
SETCUSTOM4 = values
SETCUSTOM8 = values
SETMONO2 = values
SETMONO4 = values
SETMONO8 = values
SETWORKBENCH = values
values: p0 p1 p2 p3 p4 p5 p6 p7 p8 p9
p10 p11 p12 p13 p14 p15 p16 p17 i0 i1 i2
i3 i4 i5 i6 i7 c0 c1 c2 c3 c4 c5 c6 c7
c8 c9 c10 c11 c12 c13 c14 c15
SKIPNOTLOCAL [= boolean]
SLOWDISK [= boolean]
SMALLBLOCKS [= boolean]
TASKPRI [= num]
TERMINUSPATH$ [= dirspec]
UPLOADPATH$ [= dirspec]
XFERBUF [= num]
31.5 LEVEL 2 OPTION VARIABLES
-----------------------------
AUTOCHOP [= boolean]
AUTODL [= boolean]
BAUD [= {110 | 300 | 600 | 1200 | 2400 | 4800 |
9600 | 19200 31250 | 38400 | 57600 |
115200}]
BINARYXFER [= boolean]
CHARDELAY [= num]
CHARPACE [= boolean]
CRC32 [= boolean]
DATALEN [= {7 | 8}]
DLCHALLENGE [= boolean]
DUPLEX [= {FULL | HALF | ECHO}]
ESCCTRL [= boolean]
EXPANDBLANKS [= boolean]
IGNOREODU [= boolean]
LINEDELAY [= num]
PARITY [= {NONE | EVEN | ODD | MARK | SPACE}]
PATHEXTEND [= boolean]
- 173 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
PREACKDL [= boolean]
PROMPTCHAR [= num]
PROTOCOL [= {XMODEM | XMODEM-CRC | XMODEM-1k | YMODEM
| YMODEM-1k | YMODEM-g | ZMODEM | XPR}]
RELAXEDTIMING [= boolean]
SAVEABORTED [= boolean]
STOPBITS [= num]
WINDOWSIZE [= num]
XONXOFF [= boolean]
XPRINIT$ [= string]
XPRNAME$ [= filespec]
ZMODE [= {IGNORE | NEWER/LONGER | CRC | APPEND |
OVERWRITE | NEWER | DIFFERENT | PROTECT |
RENAME}]
ZRESUME [= boolean]
31.6 LEVEL 3 OPTION VARIABLES
-----------------------------
ANSWERBACK$ [= string]
AUTOREPEAT [= boolean]
AUTOWRAP [= boolean]
BIT7MODE [= boolean]
BLINK [= boolean]
BSDESTRUCT [= boolean]
CHATMODE [= boolean]
COLMN132 [= boolean]
CRXLATE [= {LEAVE | STRIP | ADDLF}]
CURSORMODE [= boolean]
CURSORPOS [= boolean]
DARESPONSE [= {VT52 | VT100 | VT102 | VT220}]
DEFFILE$ [= string]
DISPCTRLS [= boolean]
DISPID [= num]
DISPLAY [= {WORKBENCH | {2 | 4 | 8 | 16 | 32} COLOR}
rows cols [ILACE]]
DOORWAY [= boolean]
EMULATION [= {TTY | AMIGA | COLOR | MONO | VT100 |
VT102 | VT220}]
EOLOUT [= {CR | LF | CRLF}]
FASTCURSOR [= boolean]
FONT$ [= string]
KEYMAP$ [= filespec]
KEYPADMODE [= boolean]
LFXLATE [= {LEAVE | STRIP | ADDCR}]
LIGHTSCREEN [= boolean]
MOUSEPACE = boolean
NLMODE [= boolean]
NRCTYPE [= {ASCII | BRITISH | FLEMISH | FRCAN |
DANISH | FINNISH | GERMAN | DUTCH | ITALIAN |
SWISSFR | SWISSGRM | SWEDISH | NORWEGIAN |
FRBELGIAN | SPANISH}]
PALETTE [= {WORKBENCH | VLT | COLOR | MONO | CUSTOM}]
- 174 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
PRESCROLL [= num]
PUBLICSCREEN [= boolean]
RAWCAPTURE [= boolean]
SMOOTH [= boolean]
STATUSLINE [= boolean]
STRIP [= boolean]
SWAPBS [= boolean]
TITLEBAR [= boolean]
TITLESTATUS [= boolean]
WINPOSX [= num1 num2]
31.7 LEVEL 4 OPTION VARIABLES
-----------------------------
AFKEY1-10$ [= string]
CFKEY1-10$ [= string]
FKEY1-10$ [= string]
SFKEY1-10$ [= string]
31.8 LEVEL 5 OPTION VARIABLES
-----------------------------
DISPMODE = {NAME | COMMENT | DATE}
MASTERPW$ = string
MONITOR = boolean
PENAME$ = string
SORTMODE [= {NAME | NUMBER | DATE | SELECT}]
31.9 LEVEL 6 OPTION VARIABLES
-----------------------------
PECAPTURE$ = string
PECENTS = num
PECOMMENT$ = string
PEDATE = num
PEDEFFILE$ = string
PENUMBER1-4$ = string
PEPASSWORD$ = string
PEPREFIX = {1 | 2 | 3 | 4}}
PEPWLEN = num
PERESET = boolean
PESCRIPT$ = string
- 175 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
31.10 LEVEL 7 COMMANDS
---------------------
ALARM
ASEND filespec
ASK [LOCAL] [string,] svar
BEEP
CAPTURE {OPEN | APPEND | CLOSE} [SAVE] filespec
CLS
CURPALETTE c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c1
DOWNLOAD [filespec]
HANGUP
INPUT [LOCAL] [QUIET] [string,] {var | svar}
KILL
LDEFAULTS [filespec]
LDEFFILE filespec
LOG [sexpr]
LPHONES [filespec]
MOVE [aexpr1, aexpr2]
PRINT [LOCAL] [{aexpr | sexpr} {, | ;}...]
PRINTER boolean
QUIT
REDIAL
RELMOVE aexpr1, aexpr2
SBREAK
SCREENTOFRONT
SDEFAULTS [filespec]
SDEFFILE [filespec]
SELECT sexpr [,sexpr...]
SEND sexpr
SPASSWORD
SPHONES [filespec]
UNSELECT
UPLOAD [RECURSIVE] filespec [,filespec]...
WAIT [aexpr] [,] [sexpr] | [UNTIL HH:MM:SS]
WHEN {ALL | {{QUIET [num] | 1-31 [sexpr]} [GOTO label | SEND
sexpr]}
XLATE {RESET {IN | OUT}} | {IN | OUT} aexpr1, aexpr2
31.11 LEVEL 8 COMMANDS
---------------------
ABS(aexpr)
ASC(svar)
CALL filespec
CHAIN filespec
CHDIR dirspec
CHR$(aexpr)
CLEAR
CLOSE [#fnum, ...]
CONTINUE
END
EXECUTE sexpr
EXISTS(filespec)
- 176 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
EXIT
FOR var = start TO end [STEP [-]step]
statement
...
NEXT
GOSUB label
GOTO label
IF cond
statement
...
[ELSE]
statement
...
ENDIF
INSTR([aexpr,] sexpr1, sexpr2)
LEFT$(sexpr, aexpr)
LEN(sexpr)
LOWER$(sexpr)
MID$(sexpr, aexpr1 [,aexpr2])
ONCARRIER [GOTO label]
ONMOUSE [GOTO label]
ONTIMEOUT [GOTO label]
OPEN [INPUT | OUTPUT | APPEND] fnum, filespec
PAUSE aexpr
READ #fnum, {var | svar},...
REMOTE [sexpr1 [sexpr2]]
REPEAT
statement(s)
...
UNTIL cond
RETURN
REXX sexpr
RIGHT$(sexpr, aexpr)
SPACE$(aexpr)
STR$(aexpr)
TRIM$(sexpr)
UPPER$(sexpr)
VAL(sexpr)
WHILE cond
statement(s)
...
WEND
WRITE #fnum {var | svar | num | string},...
- 177 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
32 DEFAULTS FILE
----------------
The following is an example of the contents of a .def defaults file. The
settings shown here represent the internal default settings for each option
listed here. However, when you save a .def file you will not get the
entire contents as is here since Terminus will not write an option that is
the same as the internal default setting. This trims the size considerably
and therefor needs less time to load it.
/* $VER: Terminus 2.0 - terminus1.def (03.07.93) */
/* Serial prefs */
DATALEN = 8
STOPBITS = 1
BAUD = 2400
PARITY = None
DUPLEX = Full
XONXOFF = OFF
/* Transfer prefs */
PROTOCOL = XMODEM
ZMODE = Ignore
PROMPTCHAR = 0
LINEDELAY = 0
CHARDELAY = 0
WINDOWSIZE = 0
EXPANDBLANKS = OFF
CHARPACE = OFF
BINARYXFER = ON
AUTOCHOP = OFF
SAVEABORTED = ON
RELAXEDTIMING = ON
PREACKDL = OFF
ZRESUME = OFF
AUTODL = OFF
DLCHALLENGE = OFF
ESCCTRL = OFF
CRC32 = OFF
SKIPNOTLOCAL = OFF
PATHEXTEND = OFF
XPRNAME$ = ""
XPRINIT$ = ""
/* Macros */
FKEY1$ = ""
FKEY2$ = ""
FKEY3$ = ""
FKEY4$ = ""
FKEY5$ = ""
FKEY6$ = ""
FKEY7$ = ""
FKEY8$ = ""
FKEY9$ = ""
FKEY10$ = ""
- 178 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
SFKEY1$ = ""
SFKEY2$ = ""
SFKEY3$ = ""
SFKEY4$ = ""
SFKEY5$ = ""
SFKEY6$ = ""
SFKEY7$ = ""
SFKEY8$ = ""
SFKEY9$ = ""
SFKEY10$ = ""
AFKEY1$ = ""
AFKEY2$ = ""
AFKEY3$ = ""
AFKEY4$ = ""
AFKEY5$ = ""
AFKEY6$ = ""
AFKEY7$ = ""
AFKEY8$ = ""
AFKEY9$ = ""
AFKEY10$ = ""
CFKEY1$ = ""
CFKEY2$ = ""
CFKEY3$ = ""
CFKEY4$ = ""
CFKEY5$ = ""
CFKEY6$ = ""
CFKEY7$ = ""
CFKEY8$ = ""
CFKEY9$ = ""
CFKEY10$ = ""
/* Palettes */
SETCOLOR2 = 1 0 0 1 1 0 1 3 1 0 0 1 0 0 1 0 1 0 1 0 1 0 1
0 1 0 099 000
SETCOLOR4 = 3 2 2 1 1 0 1 3 1 0 3 1 0 3 1 0 1 2 1 0 2 3 1
0 2 3 099 000 BBB A00
SETCOLOR8 = 3 2 2 1 1 0 1 3 1 0 3 1 0 3 1 0 1 2 1 3 4 7 6
5 0 2 099 000 BBB A00 0A0 A0A 00A A60
SETCOLOR16 = 3 2 2 1 1 0 1 3 1 0 3 1 0 3 1 0 1 2 1 3 4 7 6
5 0 2 099 000 BBB A00 0A0 A0A 00A A60 0FF 666
FFF F00 0F0 F0F 00F FF0
SETCUSTOM2 = 1 0 0 1 1 0 1 3 1 0 0 1 0 0 1 0 1 0 1 0 1 0 1
0 1 0 078 000
SETCUSTOM4 = 3 2 2 1 1 0 1 3 1 0 3 1 0 3 1 0 1 2 1 0 3 2 1
0 3 2 078 000 999 E90
SETCUSTOM8 = 3 2 2 1 1 0 1 3 1 0 3 1 0 3 1 0 1 2 1 0 7 5 4
3 6 2 078 000 999 E90 C6A 090 045 A00
SETMONO2 = 1 0 0 1 1 0 1 2 1 0 0 1 0 0 1 0 1 0 1 0 1 0 1
0 1 0 BBB 000
SETMONO4 = 3 2 2 1 1 0 1 2 3 0 2 3 0 2 0 3 1 2 1 0 3 2 1
0 3 2 BBB 000 FFF 666
SETMONO8 = 3 1 2 1 1 0 1 2 3 0 2 3 0 2 0 3 1 2 1 0 3 2 5
4 7 6 BBB 000 FFF 666 BBB 000 FFF 666
- 179 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
SETWORKBENCH = 3 1 2 1 1 1 0 3 0 1 3 2 1 3 1 3 1 2 0 1 2 3 4
5 6 7
/* Pathnames */
TERMINUSPATH$ = "TERMINUS:"
UPLOADPATH$ = "RAM:"
DOWNLOADPATH$ = "RAM:"
CAPTUREPATH$ = "RAM:"
SCRIPTPATH$ = "TERMINUS:Scripts"
PRINTERPATH$ = "PRT:"
REXXPATH$ = "REXX:"
/* Modem prefs */
MODEMINITCMD$ = "ATZ^M~~~ATE1 Q0 V1 X4^M"
MODEMHANGUPCMD$ = "~~~+++~~~ATH^M"
MODEMPOSTFIX$ = "^M"
MODEMPREFIX1$ = "ATDT"
MODEMPREFIX2$ = "ATDT"
MODEMPREFIX3$ = "ATDT"
MODEMPREFIX4$ = "ATDT"
RESPONSEOK$ = "OK"
RESPONSEBUSY$ = "BUSY"
RESPONSERING$ = ""
RESPONSEERROR$ = "ERROR"
RESPONSEVOICE$ = "VOICE"
RESPONSECONNECT$ = "CONNECT"
RESPONSENOCARRIER$ = "NO CARRIER"
RESPONSENODIALTONE$ = "NO DIALTONE"
REDIALDELAY = 60
DIALATTEMPTS = 15
DIALTIMEOUT = 30
DIALPACING = 0
IGNORENOCARRIER = OFF
IGNOREDCD = OFF
EXITHANGUP = ON
DTRHANGUP = OFF
FLUSHONBREAK = OFF
AUTOBAUD = OFF
/* Serial Port prefs */
SERDEV$ = "serial.device 0"
BREAKLEN = 250
CTSRTS = OFF
PORTQUIET = OFF
IGNOREODU = OFF
/* General prefs */
DATEFMT = MM/DD/YY
CHATHISTORY = 50
XFERBUF = 8
REVIEWBUF = 16
GMTOFFSET = 13
TASKPRI = 0
- 180 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
CHATLINES = 3
REVIEWLINES = 12
HR24MODE = OFF
LOGFILE = OFF
FILESAVE = OFF
AUDIOBEEP = OFF
DISKSPACE = OFF
CHIPMIZER = OFF
MAKEICONS = ON
POPUP = ON
SMALLBLOCKS = OFF
SLOWDISK = OFF
QUOTELEN = 75
QUOTESTRING$ = ">"
/* Console definition file */
DEFFILE$ = "default.con"
- 181 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
33 PHONEBOOK FILE
-----------------
The following is an example .phones phonebook file. As with the .def
listed in the previous section, this represents the default settings that a
phonebook and an entry would be assigned. The name of the entry listed
here only exists when a new entry is created. Options that relate to the
.phones file are only written when they differ from the internal default
settings in order to save time during loading.
/* $VER: Terminus 2.0 - terminus1.phones (03.07.93) */
/* PhoneBook */
SORTMODE = Name
DISPMODE = Name
MASTERPW$ = ""
MONITOR = OFF
/* PhoneBook Entry */
PENAME$ = "New Entry"
PECOMMENT$ = ""
PECAPTURE$ = ""
PESCRIPT$ = ""
PEPREFIX = #1
PENUMBER1$ = "123-456-7890"
PENUMBER2$ = ""
PENUMBER3$ = ""
PENUMBER4$ = ""
PEPASSWORD$ = ""
PEDEFFILE$ = "default.con"
PECENTS = 0
PEPWLEN = 8
PERESET = ON
PEDATE = 2C27DB6A
DATALEN = 8
STOPBITS = 1
BAUD = 2400
PARITY = None
DUPLEX = Full
XONXOFF = OFF
PROTOCOL = XMODEM
ZMODE = Ignore
PROMPTCHAR = 0
LINEDELAY = 0
CHARDELAY = 0
WINDOWSIZE = 0
EXPANDBLANKS = OFF
CHARPACE = OFF
BINARYXFER = ON
AUTOCHOP = OFF
SAVEABORTED = ON
RELAXEDTIMING = ON
PREACKDL = OFF
- 182 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
ZRESUME = OFF
AUTODL = OFF
DLCHALLENGE = OFF
ESCCTRL = OFF
CRC32 = OFF
SKIPNOTLOCAL = OFF
PATHEXTEND = OFF
XPRNAME$ = ""
XPRINIT$ = ""
- 183 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
34 DEFINITION FILE
------------------
The following, like the previous two sections, lists the contents of a .con
console definition file.
/* $VER: Terminus 2.0 - default.con (03.07.93) */
/* Console prefs */
DISPID = 32768
DISPLAY = Workbench 24 80
FONT$ = "TermISO80 8"
KEYMAP$ = ""
EMULATION = Amiga
PALETTE = Workbench
CRXLATE = Leave
LFXLATE = Leave
EOLOUT = CR
PRESCROLL = 0
FASTCURSOR = OFF
RAWCAPTURE = OFF
STATUSLINE = ON
TITLEBAR = OFF
TITLESTATUS = ON
PUBLICSCREEN = OFF
BLINK = OFF
CURSORPOS = OFF
STRIP = OFF
BSDESTRUCT = OFF
MOUSEPACE = OFF
SMOOTH = OFF
AUTOWRAP = ON
CHATMODE = OFF
DOORWAY = OFF
NRCTYPE = ASCII
DARESPONSE = VT220
ANSWERBACK$ = ""
BIT7MODE = OFF
COLMN132 = OFF
LIGHTSCREEN = OFF
NLMODE = OFF
KEYPADMODE = OFF
CURSORMODE = OFF
SWAPBS = OFF
AUTOREPEAT = ON
DISPCTRLS = OFF
WINPOS0 = 137 36
WINPOS1 = 169 235
WINPOS2 = -1 -1
WINPOS3 = -1 -1
WINPOS4 = -1 -1
WINPOS5 = -1 -1
WINPOS6 = -1 -1
WINPOS7 = 189 175
WINPOS8 = -1 -1
- 184 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
WINPOS9 = 144 45
WINPOS10 = -1 -1
WINPOS11 = -1 -1
WINPOS12 = -1 -1
WINPOS13 = -1 -1
WINPOS14 = -1 -1
WINPOS15 = -1 -1
WINPOS16 = -1 -1
WINPOS17 = -1 -1
WINPOS18 = -1 -1
WINPOS19 = -1 -1
- 185 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
APPENDIX A - ASCII CODE TABLE
-----------------------------
This appendix lists the decimal and hexadecimal values for the ASCII code
table. It is provided so that you can refer to it when changing
{TRANSFER}{PROMPT CHAR}{A} or for entering escape commands in SEND strings.
Dec Hex ASCII Dec Hex ASCII
-------------------- -------------------
0 00 NUL ^@ 32 20 SP SPACE
1 01 SOH ^A 33 21 !
2 02 STX ^B 34 22 "
3 03 ETX ^C 35 23 #
4 04 EOT ^D 36 24 $
5 05 ENQ ^E 37 25 %
6 06 ACK ^F 38 26 &
7 07 BEL ^G 39 27 '
8 08 BS ^H 40 28 (
9 09 TAB ^I 41 29 )
10 0A LF ^J 42 2A *
11 0B VT ^K 43 2B +
12 0C FF ^L 44 2C ,
13 0D CR ^M 45 2D -
14 0E SO ^N 46 2E .
15 0F SI ^O 47 2F /
16 10 DLE ^P 48 30 0
17 11 DC1 ^Q 49 31 1
18 12 DC2 ^R 50 32 2
19 13 DC3 ^S 51 33 3
20 14 DC4 ^T 52 34 4
21 15 NAK ^U 53 35 5
22 16 SYN ^V 54 36 6
23 17 ETB ^W 55 37 7
24 18 CAN ^X 56 38 8
25 19 EM ^Y 57 39 9
26 1A SUB ^Z 58 3A :
27 1B ESC ^[ 59 3B ;
28 1C FS ^\ 60 3C <
29 1D GS ^] 61 3D =
30 1E RS ^^ 62 3E >
31 1F US ^_ 63 3F ?
- 186 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Dec Hex ASCII Dec Hex ASCII
----------------- -----------------
64 40 @ 96 60 `
65 41 A 97 61 a
66 42 B 98 62 b
67 43 C 99 63 c
68 44 D 100 64 d
69 45 E 101 65 e
70 46 F 102 66 f
71 47 G 103 67 g
72 48 H 104 68 h
73 49 I 105 69 i
74 4A J 106 6A j
75 4B K 107 6B k
76 4C L 108 6C l
77 4D M 109 6D m
78 4E N 110 6E n
79 4F O 111 6F o
80 50 P 112 70 p
81 51 Q 113 71 q
82 52 R 114 72 r
83 53 S 115 73 s
84 54 T 116 74 t
85 55 U 117 75 u
86 56 V 118 76 v
87 57 W 119 77 w
88 58 X 120 78 x
89 59 Y 121 79 y
90 5A Z 122 7A z
91 5B [ 123 7B {
92 5C \ 124 7C |
93 5D ] 125 7D }
94 5E ^ 126 7E ~
95 5F _ 127 7F DEL DELETE
- 187 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
APPENDIX B - EMULATIONS
-----------------------
The following tables list the various control codes and sequences that each
of the emulations in Terminus recognize. While the code sequence and
mnemonic is described, valid values, ranges and other limitations are not
detailed since this is not intended to be a tutorial on programming for a
specific emulation.
For the purpose of this appendix, the COLOR and MONO emulations are folded
into the common IBM emulation when discussed here. If there is a specific
sequence that is only applicable to one of the two emulations then a C or M
will be used as necessary to indicate which one it applies to.
C0 (ASCII) CONTROL CODES
------------------------
C0 control codes are single character codes in the range of 00 to 1F
hexadecimal. They are also called ASCII control codes as they are
defined in the ASCII (ANSI X3.4) specification.
C0 CODE TTY AMIGA IBM VT52 VT102 VT220
----------------------------------------
05 ENQ * * *
07 BEL * * * * * *
08 BS * * * * * *
09 HT * * * * *
0A LF * * * * * *
0B VT * * *
0C FF * * * * * *
0D CR * * * * * *
0E SO * * *
0F SI * * *
18 CAN * * * *
1A SUB * *
1B ESC * * * * *
7F DEL * * * * * * (Listed here, although
not actually a C0 control
code)
C1 CONTROL CODES
----------------
The C1 control codes are also single character codes in the range of
80 to 9F hexadecimal. These are 8 bit characters and are outside the
ASCII specification which deals with 7 bit characters only. These
codes are essentially "short-hand" codes for longer, multicharacter
sequences that are described below. The 7 bit versions of these C1
control codes are not recognized by the AMIGA emulation.
- 188 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
C1 CODE AMIGA VT220
-------------------------------
84 IND ESC D * *
85 NEL ESC E * *
88 HTS ESC H * *
8D RI ESC M * *
8E SS2 ESC N *
8F SS3 ESC O *
90 DCS ESC P *
9B CSI ESC [ * *
9C ST ESC \ *
The format used for describing ANSI sequences described below is as
follows. Spaces are included for clarity, but not present in the actual
sequence unless the special sequence SP is present in the description.
CSI P..P I..I F where:
CSI Control Sequence Introducer, 0x9B in 8 bit mode or the
sequence "ESC [" in 7 bit mode (IBM and VT102 only
support 7 bit mode).
P Series of zero or more parameter characters. Multiple
parameters are delimited by the ';' character.
I Series of zero or more intermediate characters.
Multiple parameters are delimited by the ';' character.
F The final character.
If a sequence does not use the CSI character or sequence, it will be
described with ESC alone. These sequences are often not part of the ANSI
X3.64 specification and are referred to as private sequences meaning that
they are private to the emulation.
Keep in mind that there are sequences recognized by the IBM and VT102
emulations that are described with a CSI, for those emulations only a 7 bit
version of the CSI "ESC [" is recognized.
- 189 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
ANSI SET/RESET MODES
--------------------
The ANSI sequence CSI Pn [h/l], where Pn is the mode, 'h' sets the
mode while 'l' (lowercase 'L') resets the mode.
MNEMONIC Pn AMIGA VT102 VT220
--------------------------------
KAM 2 * *
IRM 4 * *
SRM 12 * *
LNM 20 * * *
DEC SET/RESET MODES
-------------------
The DEC sequence CSI ? Pn [h/l], where Pn is the mode, 'h' sets the
mode while 'l' (lowercase 'L') resets the mode.
MNEMONIC Pn AMIGA IBM VT102 VT220
------------------------------------
DECCKM 1 * *
DECANM 2 * * (Only reset mode present)
DECCOLM 3 * *
DECSCLM 4 * *
DECSCNM 5 * *
DECOM 6 * *
DECAWM 7 * * * *
DECARM 8 * *
DECPFF 18 * *
DECPEX 19 * *
DECTCEM 25 *
DECNRCM 42 *
- 190 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
CURSOR CONTROL SEQUENCES
------------------------
MNEMONIC AMIGA IBM VT102 VT220
----------------------------------------------
CUU CSI Pn A * * * *
CUD CSI Pn B * * * *
CUF CSI Pn C * * * *
CUB CSI Pn D * * * *
CUP CSI Pr ; Pc H * * * *
HVP CSI Pr ; Pc f * * *
IND ESC D * *
RI ESC M * *
NEL ESC E * *
ANL CSI E *
APL CSI F *
AHT CSI I *
ASCR CSI SP p *
ASCR CSI 0 SP p *
IBMSC ESC [ s *
IBMRC ESC [ u *
DECSC ESC 7 * *
DECRC ESC 8 * *
SET GRAPHICS RENDITION
----------------------
The ANSI SGR sequence is CSI Pn... m where Pn relates to a specific
graphics attribute as described below.
ATTRIBUTE Pn AMIGA IBM VT102 VT220
----------------------------------------------
Reset all 0 * * * *
Bold 1 * * * *
Italic 3 * * *
Underline 4 * M * *
Blinking 5 M * * (Color w/AGA chips)
Inverse 7 * * * *
Blanked 8 * *
Normal 22 * * *
No italics 23 * * *
No underline 24 * * *
No blink 25 * * *
No inverse 27 * * *
No blanked 28 *
Foreground 30-37 * C
Background 40-47 * C
Default fg 39 *
Default bg 49 *
Background > 0-7 *
- 191 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
EDITING SEQUENCES
-----------------
MNEMONIC AMIGA IBM VT102 VT220
----------------------------------------------
ASU CSI Pn S *
ASD CSI Pn T *
AIL CSI L * * *
ADL CSI M * * *
IL CSI Pn L * *
DL CSI Pn M * *
ICH CSI Pn @ * * *
DCH CSI Pn P * * *
ERASING SEQUENCES
-----------------
MNEMONIC AMIGA IBM VT102 VT220
----------------------------------------------
ECH CSI Pn X *
EL CSI K * * * *
EL CSI 0 K * * *
EL CSI 1 K * *
EL CSI 2 K * *
ED CSI J * * * *
ED CSI 0 J * *
ED CSI 1 J * *
ED CSI 2 J * * *
DECSEL CSI ? K *
DECSEL CSI ? 0 K *
DECSEL CSI ? 1 K *
DECSEL CSI ? 2 K *
DECSED CSI ? J *
DECSED CSI ? 0 J *
DECSED CSI ? 1 J *
DECSED CSI ? 2 J *
- 192 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
REPORT SEQUENCES
----------------
The first group of sequences listed here are for report sequences sent
to Terminus from the remote system. The second table refers to the
response sequences that Terminus issues after receiving a report.
MNEMONIC AMIGA IBM VT102 VT220
----------------------------------------------
PDA CSI c * *
PDA CSI 0 c * *
SDA CSI > c *
SDA CSI > 0 c *
DSR CSI 5 n * *
DSR CSI 6 n * * * *
DSR CSI ? 15 n * *
DSR CSI ? 25 n *
DSR CSI ? 26 n *
DECID ESC Z * *
AWSR CSI 0 SP q *
MNEMONIC AMIGA IBM VT102 VT220
----------------------------------------------
CPR CSI Pr ; Pc R * * * *
PDA ESC [ ? 1 ; 2 c * * (VT100)
PDA ESC [ ? 1 ; 0 c * * (VT101)
PDA ESC [ ? 6 c * * (VT102)
PDA CSI?62;1;2;6;7;8;9c * (VT220)
SDA CSI > 1 ; 10 ; 0 c *
DSR CSI 0 n * *
DSR CSI ? 10 n * *
DSR CSI ? 20 n *
DSR CSI ? 21 n *
DSR CSI ? 27 ; Pn n *
AWSR CSI 1 ; 1; Pr ; Pc r *
TAB STOP SEQUENCES
------------------
MNEMONIC AMIGA VT102 VT220
-------------------------------------
ABT CSI Pn Z *
ACTC CSI Pn W *
HTS ESC H * *
TBC CSI g * *
TBC CSI 0 g * *
TBC CSI 3 g * *
- 193 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
TERMINAL RESET SEQUENCES
------------------------
MNEMONIC AMIGA VT102 VT220
-----------------------------------
RIS ESC c * * *
DECSTR CSI ! p *
INVOKING CHARACTER SETS
-----------------------
The following control characters and sequences select one of the
designated character sets for character output.
MNEMONIC AMIGA VT102 VT220
-------------------------------------
LS0 SI * * *
LS1 SO * * *
LS1R ESC ~ *
LS2 ESC n *
LS2R ESC } *
LS3 ESC o *
LS3R ESC | *
SS2 ESC N * *
SS3 ESC O * *
SET CHARACTER SET
-----------------
There are four prefixes and several final characters that comprise
character set selection. First, the four prefix sequences are:
ESC ( F
ESC ) F
ESC * F
ESC + F
- 194 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
The four intermediate characters determine which graphics set is
set to a character set. The 'F' is the final character which
determines the character set to use. The possible final
characters are described below.
SET FINAL VT102 VT220
-------------------------------
ASCII B * *
DEC supp < *
DEC spec 0 * *
British A * * National Replacement sets
Dutch 4 * " " "
Finnish C or 5 * " " "
French R * " " "
Fr. Can. Q * " " "
German K * " " "
Italian Y * " " "
Nor/Dan. E or 6 * " " "
Spanish Z * " " "
Swedish H or 7 * " " "
Swiss = * " " "
KEYPAD MODE
-----------
MNEMONIC VT102 VT220
-------------------------------
DECKPAM ESC = * *
DECKPNM ESC > * *
SCROLLING MARGINS
-----------------
MNEMONIC VT102 VT220
------------------------------------
DECSTBM CSI Pt ; Pb r * *
PRINTING SEQUENCES
------------------
MNEMONIC VT102 VT220
-------------------------------
MC CSI i * *
MC CSI 0 i * *
MC CSI 4 i * *
MC CSI 5 i * *
MC CSI ? 1 i * *
MC CSI ? 4 i * *
MC CSI ? 5 i * *
- 195 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
LINE ATTRIBUTES
---------------
MNEMONIC VT102 VT220
-------------------------------
DECDHL ESC # 3 * *
DECDHL ESC # 4 * *
DECSWL ESC # 5 * *
DECDWL ESC # 6 * *
ALIGNMENT
---------
MNEMONIC VT102 VT220
-------------------------------
DECALN ESC # 8 * *
SELECT C1 CONTROLS
------------------
MNEMONIC VT220
-------------------------
S7C1T ESC SP F *
S8C1T ESC SP G *
COMPATIBILITY MODE
------------------
MNEMONIC VT220
------------------------------
DECSCL CSI 6 1 " p *
DECSCL CSI 6 2 " p *
DECSCL CSI 6 2 ; 0 " p *
DECSCL CSI 6 2 ; 1 " p *
DECSCL CSI 6 2 ; 2 " p *
CHARACTER ATTRIBUTES
--------------------
MNEMONIC VT220
------------------------------
DECSCA CSI 0 " q *
DECSCA CSI 1 " q *
DECSCA CSI 2 " q *
USER DEFINED KEYS
-----------------
The VT-220 emulation provides for user defined keys (UDK). They use a
slightly different coding sequence from an ANSI sequence. The format
is:
DCS Pc ; Pl | Ky1 ; St1 ;... Kyn ; Stn ST
- 196 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
VT52 SEQUENCES
--------------
The following sequences are specific to the VT-52 emulation.
SEQUENCE DESCRIPTION
---------------------
ESC A Cursor up
ESC B Cursor down
ESC C Cursor right
ESC D Cursor left
ESC F Enter graphics mode
ESC G Exit graphics mode
ESC H Cursor home
ESC I Reverse linefeed
ESC J Erase to end of screen
ESC K Erase to end of line
ESC Y Pr Pc Direct cursor address
ESC Z Identify
ESC = Enter KPM
ESC > Exit KPM
ESC < Exit VT52 mode (from VT102 or VT220 only)
ESC ^ Autoprint on
ESC _ Autoprint off
ESC W Printer controller on
ESC X Printer controller off
ESC ] Print screen
ESC V Print cursor line
UNRECOGNIZED SEQUENCES
----------------------
The following lists the currently unsupported sequences for each
emulation.
AMIGA
-----
CSI 2 m Faint color
CSI > 1 Enable/disable scroll
CSI Pn t Set page length
CSI Pn u Set line length
CSI Pn x Set left offset
CSI Pn y Set top offset
CSI Pn { Set raw events
CSI Pn } Reset raw events
IBM
---
IBMSGR ESC [ = 0-7 Special IBM graphics modes
IBMDK ESC [ Pk ; p Define key
- 197 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
VT102
-----
DECLL CSI Pn q Keyboard LED indicators
SRM CSI ? 9 [h/l] Interlace mode
DECTST CSI 4 ; Pss ;... y Tests and adjustments
SCS ESC [(/)] 1 Alternate character ROM
SCS ESC [(/)] 2 Alternate character ROM
VT220
-----
DECTST CSI 4 ; Pss ;... y Tests and adjustments
DECDLD DCS ... @ ST Downloadable character sets
SCS ESC [(/)/*/+] I I F Soft character set selection
- 198 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
APPENDIX C - MESSAGES
---------------------
OPERATIONAL MESSAGES, QUERIES AND ERRORS
----------------------------------------
The following descriptions refer to the various requesters that Terminus
may post during program operation. Some are messages to remind you, some
ask you to decide on what to do and others are error conditions.
ACTIVATE SERIAL PORT?
---------------------
This message is posted whenever you attempt an operation that requires
the serial port to be active. You must first take the device out of a
quiet mode by selecting [MISC][QUIET SERIAL?] or {PORT}{PORT
QUIET}{P}.
ANSI COLOR INDEX ERROR
----------------------
Indicates the two or more colors are assigned to the same ANSI index
selector.
ATTEMPT ZMODEM RESUME?
----------------------
If you attempt to download a file that already exists in the download
directory and {TRANSFER}{ZMODEM RESUME}{R} is not active, you will be
asked if you want to resume the file. If you don't want to resume the
file then you will be asked if you want to overwrite the file. You
can override this requester by setting {TRANSFER}{ZMODE}{Z} to RENAME.
CANCEL BUFFERED PRINTER DATA?
-----------------------------
Requires a YES/NO response to determine if the currently buffered
printer data is to be discarded without being printed.
CANNOT USE PROPORTIONAL FONT:
-----------------------------
Occurs when the selection of a proportional font was attempted.
Terminus requires the use of fixed width fonts.
CARRIER PRESENT
---------------
You will get this message whenever you attempt an operation, such as
dialing, that requires no carrier to be present and {MODEM}{IGNORE
CARRIER DETECT}{R} is not active.
- 199 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
CARRIER PRESENT, EXIT?
----------------------
This query is posted if you try to exit Terminus while DCD is still
present. It is a safety measure to prevent you from mistakenly
exiting Terminus by accident.
CLOSE FILE REQUESTER
--------------------
A screen change cannot take place until the asynchronous file
requester used for file transfers is closed first.
CLOSE VISITOR WINDOWS
---------------------
This message is posted if there are visiting windows owned by other
programs present on Terminus' public screen. You will have to close
them before being able to change display screens.
CREATE NON-EXISTENT PATH?
-------------------------
This query is posted during a file download with extended pathnames in
effect. It will allow you to create the necessary paths in order to
continue with the file transfer.
CTS HANDSHAKE INACTIVE
----------------------
Occurs when attempting a YMODEM-g file transfer which requires an
error correcting modem with hardware flow control in order to use it.
DEVICE/UNIT IN USE BY:
----------------------
Indicates that the displayed device and unit are in use by another
process. You will only get this message if OwnDevUnit.library is in
use.
ERROR WHILE WRITING FILE:
-------------------------
A error occurred when trying to write data to the displayed file.
Check for write protect disabled or media format error.
FILE IS ALREADY IN USE
----------------------
The file requested for opening is already in use by another process.
- 200 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
FILENAME BUFFER OVERFLOW
------------------------
The fully qualified path and filename resulted in a filename that is
too large for Terminus to use.
INSUFFICIENT DISK SPACE
-----------------------
An attempt to download to a device was made that has less free space
available then the expected size of the file about to be transferred.
You can retry this requester once you've freed up some space (or
changed floppies). You must deactivate {GENERAL}{DISK SPACE CHECK}{D}
if you intend to download to a device that always reports itself as
being full.
INSUFFICIENT MEMORY
-------------------
An operation was attempted that requires more system memory then is
currently available.
INVALID DISPLAY ID, USING HIRES
-------------------------------
An unknown display ID value is present in the console definition file,
Terminus will fall back to the HIRES display ID whenever this occurs.
MASTER PASSWORD NOT DEFINED
---------------------------
Before being able to use the automated password generation feature you
must define a master password for the phonebook.
NEED A SCRIPT FILENAME
----------------------
Before you can define macros for a phonebook entry you need to define
a script file for Terminus to save the macros to.
NO CARRIER PRESENT
------------------
You will receive this message whenever an operation is attempted that
requires carrier to be present, such as file transfers. You can
override this message and allow the operation to proceed by enabling
{MODEM}{IGNORE CARRIER DETECT}{R}.
NO ENTRIES SELECTED FOR DIALING
-------------------------------
Attempted to start dialer with no entries selected.
- 201 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
NO MATCH FOUND
--------------
End of review buffer was reached without a match being located.
OVERWRITE EXISTING FILE?
------------------------
This message is posted when a file of the same name as the file about
to be downloaded already exists in the download path.
OWNDEVUNIT ERROR:
-----------------
An error occurred from within the OwnDevUnit library.
REVIEW BUFFER EMPTY
-------------------
Cannot access the review buffer for review if it is empty.
SELECT AN XPR LIBRARY FIRST
---------------------------
Before you can access {XPR LIBRARY}{XPR OPTIONS...}{X} you have to
select an XPR library file and it must exist in your LIBS: directory.
SYSTEM DEVICE ERROR:
--------------------
An error occurred with the displayed device.
UNABLE TO ACCESS PRINTER
------------------------
The printer device is in use or an error occurred when trying to
access it.
UNABLE TO OPEN FILE:
--------------------
Could not open the displayed file.
- 202 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
UNABLE TO OPEN FONT:
--------------------
Could not open the requested font.
UNABLE TO OPEN LIBRARY:
-----------------------
The requested library is missing or not the proper version.
UNABLE TO QUOTE STRING:
-----------------------
The syntax of the displayed string is such that Terminus was unable to
quote it prior to writing it to a file.
SCRIPT ERRORS
-------------
The following messages relate to script errors and messages that may be
posted to the display screen (a requester is not used for these) and script
execution will be halted.
CANNOT ALTER READ ONLY VARIABLE
-------------------------------
The ROW, COL, MROW, MCOL variables are read-only, you cannot assign
new values to them.
CHDIR FAILED
------------
An attempt to change the current directory to a non-existent path was
made.
COULD NOT OPEN FILE
-------------------
The requested file could not be opened either from media error, bad
pathname or missing directories within the pathname.
DIVISION BY ZERO
----------------
Cannot attempt a division by 0.
DUPLICATE LABEL FOUND
---------------------
During the loading of a script file a duplicate label was encountered.
- 203 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
ELSE WITHOUT IF
---------------
An ELSE command was encountered outside of an IF/ENDIF pair.
ENDIF MISSING
-------------
An unmatched IF/ENDIF pair count occurred during the loading of a
script file.
ENDIF WITHOUT IF
----------------
Terminus attempted to execute an ENDIF command without having first
executed an IF command.
EXPRESSION MISSING
------------------
A required aexpr or sexpr was missing.
FILE CURRENTLY OPEN
-------------------
Attempted to open a file that is currently open.
FILE IS NOT OPENED FOR INPUT
----------------------------
Attempted to READ from a file that is opened for writing only.
FILE IS NOT OPENED FOR OUTPUT
-----------------------------
Attempted to WRITE to a file that is opened for reading only.
FILE NOT FOUND
--------------
The requested file was not found.
FILE NOT OPEN
-------------
An operation on an unopened file was attempted.
- 204 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
INCORRECT VARIABLE USAGE
------------------------
A variable was used outside it's scope, an integer variable when a
string variable was expected and vice versa.
INVALID COMMAND SCOPE
---------------------
Attempted to use a command or option variable outside it's permitted
scope.
INVALID LABEL USED
------------------
Labels must start with an alpha character and end with a colon.
INVALID RESUME ATTEMPT
----------------------
Attempted to use a RESUME command when an ONCARRIER, ONMOUSE or
ONTIMEOUT has not yet occurred.
LABEL NOT FOUND
---------------
The desired label was not found in the script file.
MISSING QUOTE
-------------
A quoted string is missing the closing quote character.
NEXT WITHOUT FOR
----------------
Attempted to execute a NEXT command outside of a FOR loop.
NO CARRIER PRESENT
------------------
A script command was executed that requires carrier to be present,
such as ASEND. You can override this action be enabling IGNOREDCD.
NOT A VARIABLE
--------------
A variable was attempted to be used in an expression prior to
assigning a value to it.
- 205 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
OUT OF MEMORY
-------------
A script command was executed that resulted in an out of memory
condition in your system.
RETURN WITHOUT GOSUB
--------------------
A RETURN was attempted when no GOSUB had yet been executed or POP has
removed all return addresses from the stack.
SERIAL DEVICE QUIET
-------------------
A script command was executed that requires the serial port to be
active. Use the PORTQUIET command to reactivate the device.
STEP VALUE IS ZERO
------------------
The step value for a FOR loop must be non-zero.
STRING TOO LONG
---------------
An assignment or result from an aexpr resulted in a string that was
longer than 255 characters.
SYNTAX ERROR
------------
The statement has a syntax error of some sort, consult the commands,
functions or option variables for correct syntax.
UNABLE TO START REMOTE CLI
--------------------------
An error occurred that prevented the remote CLI from starting.
UNBALANCED PARENTHESES
----------------------
All expressions must have a matching number of closing parentheses.
UNEXPECTED END OF FILE REACHED
------------------------------
An end-of-file condition occurred in the middle of a statement or
during a READ sequence.
- 206 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
UNTIL WITHOUT REPEAT
--------------------
An UNTIL command was encountered without a REPEAT loop being active.
VALUE OUT OF RANGE
------------------
An integer value exceeded permissible 32 bit signed integer range.
WEND WITHOUT WHILE
------------------
A WEND command was executed without a WHILE loop not being in effect.
- 207 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
APPENDIX D - QUESTIONS & ANSWERS
--------------------------------
DATA IS CORRUPTED, LIKE IT'S BEING LOST WHEN RECEIVING AT ANY BAUD RATE.
------------------------------------------------------------------------
The most likely cause of this would be due to a 3rd party serial
device driver that does not adhere to the prescribed way of operation
as outlined in Commodore reference material.
To be specific, the driver is probably not handling the BeginIO()
function correctly. Commodore states that this function can complete
an I/O operation synchronously if the IOF_QUICK bit was set when the
IO request was submitted to the device. If the request was handled
immediately then the device is to return from BeginIO() with the
IOF_QUICK bit still set.
Terminus uses this ability to prevent a situation where a temporary
deadlock can occur if two processes are accessing the same serial
device simultaneously. Instead of using DoIO() which is a synchronous
function call, Terminus uses BeginIO() to read the contents of the
serial input buffer. This prevents the deadlock since the function is
guaranteed to return immediately.
The data loss problem occurs when the IOF_QUICK bit is reset when it
shouldn't be. If this happens Terminus will abort the I/O request,
which effectively results in tossing away valid data.
You can determine if this is the case, and use Terminus without fear
of data loss by employing the use of OwnDevUnit.library which is
included with the Terminus distribution.
When OwnDevUnit is in effect Terminus uses the DoIO() function instead
of BeginIO() since the library prevents more than one program from
accessing the same device/unit simultaneously.
Of course, any program that attempts to access the serial device
driver must do so via OwnDevUnit.library or a deadlock will occur. To
free the deadlock you will need to toggle the power switch of your
modem so that noise data is generated which will satisfy the pending
read request that's causing the deadlock. Once free you must exit the
program and correct your system to prevent this from happening again.
FILE TRANSFERS ARE MUCH SLOWER THAN THOSE WITH OTHER PROGRAMS.
--------------------------------------------------------------
There are several causes of this happening. If one or more are
present, you will get very slow transfer rates as their effects are
cumulative. Most of this discussion pertains to ZMODEM downloads,
which is by and large, the most common type of transfer performed with
Terminus.
- 208 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
There are five options that standout above all others in terms of slow
file transfer performance. One, {TRANSFER}{ESC CTRL CHAR}{T} effects
ZMODEM file transfers only, but tremendously. DO NOT USE THIS OPTION
UNLESS YOU ABSOLUTELY NEED TO!!!
The {GENERAL}{FILE SAVER}{V} option effects any type of download.
What this causes Terminus to do is to close and then reopen the file
each time a disk write operation is performed. By doing this, the
file is guaranteed to contain some data if a system crash occurs
during a file download. What this also means is that the file
transfer is going to be slowed down significantly since there is
additional overhead needed to reopen and reposition the file pointer
each time an access occurs. You have to determine if the throughput
penalty this option imposes is less of a factor then possibly losing a
file.
The {GENERAL}{SLOW DISK I/O}{K} and {GENERAL}{512 BYTE DISK I/O}{5}
options should only be used if the file transfers gets errors whenever
a write to disk is performed. Otherwise they should be OFF or a
slower transfer will result.
Although not a severe, having XON/XOFF handshake active when starting
a ZMODEM file transfer will also slow it down somewhat. The confusion
with XON/XOFF arises from the fact that Terminus does not deactivate
it when a ZMODEM transfer is initiated like most of the other Amiga
communications programs that are out there. This is not correct
though because, unlike XMODEM technology protocols, ZMODEM is a full
streaming protocol designed for packet switched networks that may
overflow portions of a busy network without XON/XOFF handshake active
to regulate data flow.
The {GENERAL}{DISK SPACE CHECK}{D} option will slow down the beginning
of a file transfer due to Terminus performing a free space check
before proceeding with the transfer.
The {GENERAL}{LOGFILE ACTIVE}{L} option will also slow down batch
transfers since a write to the logfile performed at the completion of
each file transferred.
ERRORS OCCUR WHEN DOWNLOADING WITH AN ERROR CORRECTED MODEM.
------------------------------------------------------------
Since an error correcting modem is supposed to give you an error free
connection, any errors can only mean one thing; data is being lost
between the modem and computer. The cause of this is due to the cpu
getting locked-out long enough for the most recently received data
byte to be overwritten by the next incoming byte. Unfortunately, the
internal serial port does not buffer these bytes like some of the more
advanced UARTS (Universal Asynchronous Receive Transmit device)
available these days. Thus, the cpu has a fairly critical "window of
opportunity" in order to successfully fetch data as it is received.
- 209 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
The first thing to determine is when the error is occurring.
Basically, there are two things to look for, random error loss or
errors that occur when a specific event happens in your system.
If the error occurs only when something else happens there is a
conflict between that event and Terminus receiving data. The most
noted occurrence is when data is written to disk. If this is the case
you will want to try both the {GENERAL}{512 BYTE DISK I/O}{5} and
{GENERAL}{SLOW DISK I/O}{K} options to see if one or both cure the
problem.
If the errors are random your system might simply be too loaded down
with the processing burden of other tasks running or by using an 8 or
16 color screen and/or severe overscan.
You will need to inventory the task priorities of all resident
programs to see if one is running at too high a priority or if one is
always running, sometimes called a "cpu hog". The program XOper is
quite effective in seeing if a task is of this nature.
If that is not the cause then you will need to trim back the screen
colors and/or overscan to give the cpu more cycles for accessing the
chip ram bus.
WHERE'S THE YMODEM-batch PROTOCOL.
----------------------------------
YMODEM *is* a batch protocol, thus calling it "batch" would be
redundant. There are really only two variations of TRUE YMODEM(tm).
The first is YMODEM and the second is the YMODEM-g protocol for use
with reliable data connections, such as an error correcting modem.
The trouble lies in the fact that some telecommunications software
authors took it upon themselves to implement only some of the features
of YMODEM and still call it YMODEM. The most common variant being
what is now properly called XMODEM-1k. Later, after realizing the
errors of their ways, they added YMODEM-batch, but called it that to
save face with their users.
If the protocol that calls itself YMODEM does not send filename, size
and date information (Terminus will tell you this by "stepping down"
to XMODEM), it is really XMODEM-1k.
There are some other versions that will send this information, but
will not support batch operation. You can still use Terminus' YMODEM
in these instances too.
Finally, there are some very old versions of YMODEM that you may run
into that cannot handle the 1024 byte block that is in widespread use
today. This is the reason for the YMODEM and YMODEM-1k options in
{TRANSFER}{PROTOCOL}{P}. In almost all cases, leave the 1k version
selected. Only use the other for instances where the receiver must
have 128 byte blocks sent.
- 210 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Terminus has enough intelligence built-in to handle almost any of the
mutant versions of this protocol that you may run into. If you do run
into an especially uncommon strain of this protocol, please report it
to the BBS so that it can be modified to deal with it in a future
release.
WHY DOES TERMINUS SOMETIMES TAKE SO LONG TO ABORT A FILE TRANSFER?
------------------------------------------------------------------
Terminus tries very hard to prevent leftover data from an aborted file
transfer from splattering all over your display. If the wait is
extraordinarily long you can click on {STATS}{ABORT}{A} a few times to
cause a hard abort to occur regardless of what data is left in the
pipe.
Although ZMODEM transfers will generally abort faster, the XMODEM
technology protocols can take a good deal of time to abort. The main
reason for this is that the receiver can only detect an abort sequence
at the start of a block. It cannot determine this while receiving the
data portion of the block. So, you may have to wait for as many as
1,028 bytes to be sent or received before it will begin the abort
sequence.
ALL FILE TRANSFERS IMMEDIATELY ABORT WITH "Carrier not detected..."
-------------------------------------------------------------------
Terminus will act this way if it does not see a carrier detect signal
(DCD) when it should be. The two most likely causes for this
occurring would be a defective serial cable or modem. Check the modem
manual to verify that your modem does have a functioning DCD signal
and that the serial cable passes this signal. You will need to
activate {MODEM}{IGNORE CARRIER DETECT}{R} if you cannot get the modem
to control DCD.
WHY DO DOWNLOADS SOMETIMES TAKE LONGER THAN UPLOADS TO THE SAME SYSTEM?
-----------------------------------------------------------------------
This is not a problem. It is simply that any download, regardless of
the protocol being used, is entirely dependent on the speed of the
sending system. You can only receive a file as fast as it is being
sent to you.
TERMINUS WILL NOT ENABLE CTS HANDSHAKE.
---------------------------------------
In order to use CTS/RTS handshake, your modem must have the DSR and
CTS signals active. Check your manual so that you can set the modem
to always have DSR active and have CTS remain active (but not set high
permanently) when offline.
- 211 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
THE ONLINE TIMER IS ALWAYS COUNTING, EVEN WHEN OFFLINE.
-and-
THE DIALER REFUSES TO DIAL, REPORTS: "Exiting, carrier present."
----------------------------------------------------------------
These two problems are due to the carrier detect signal (DCD) always
being active. Check the manual to the modem for the proper command
and/or hardware switch in order to set the modem so that this signal
is only active when a carrier signal is present.
If the modem (or cable) doesn't allow you to correct this problem, you
will have to disable the carrier detect logic in Terminus by setting
{MODEM}{IGNORE CARRIER DETECT}{R}.
THE DIALER ALWAYS REMOVES AN ENTRY AFTER THREE DIAL ATTEMPTS.
-------------------------------------------------------------
You modem must be able to RELIABLY detect a busy signal or it will
return a NO CARRIER response. If three of these responses are
received for a selected entry the dialer will deselect it.
If your modem does not detect busy signals, also known as "blind
dialing", or it is not reliably detecting them, you must activate
{MODEM}{IGNORE NO CARRIER}{G} to deactivate this feature of the
dialer.
THE DIALER DOES NOT SET THE BAUD RATE TO THE RIGHT RATE.
--------------------------------------------------------
If your modem is capable of dialing at one baud rate, but changing it
after sending the CONNECT response to the connected rate you will need
to activate {MODEM}{DIALER AUTOBAUD}{B}. Most error correcting modems
need to operate at a fixed baud rate between the computer and modem,
so the modem should not allow a baud rate change to occur and the
{MODEM}{DIALER AUTOBAUD}{B} option should be disabled as well.
Another possibility is that your modem is not returning a recognizable
or correct extended CONNECT response so that Terminus can determine
which baud rate to use when auto-bauding. active while your modem is
not set (or capable) of returning extended result codes for the
"CONNECT" message.
THE MODEM SOMETIMES "MISSES" THE DIAL COMMAND SENT BY THE DIALER.
-----------------------------------------------------------------
Some modems have trouble decoding an "AT" command sequence when the
characters are sent too fast. Set the {MODEM}{PACING}{P} option to a
value that allows your modem to reliably receive the dial command.
- 212 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
MY MACROS ARE SENDING INCORRECT DATA WHEN USING THE IBM DOORWAY MODE.
---------------------------------------------------------------------
This is normal. Function key macros are disabled during Doorway mode
due to Terminus emulating the hexadecimal scan key codes that are sent
whenever a key is pressed while this mode is active. For this reason
you cannot have macros when using this mode.
TERMINUS SOMETIMES REPORTS THAT IT COULDN'T OPEN A WINDOW.
----------------------------------------------------------
You're running Terminus on a system that has little free memory. Use
a screen with less colors.
THE DIALER IS EXITING AFTER A "RING" OR 3 "NO DIALTONE" MESSAGES.
-----------------------------------------------------------------
This is normal operation for the dialer when using a modem on a
residential voice line. But, if you're running a BBS system or have a
separate data/fax line, you might have a collision with an incoming
call while the dialer is attempted to dial out. In order to eliminate
this there are a few things that you will have to do.
The {MODEM}{RING}{I} response will have to be deleted in order to
disable that feature. The "NO DIALTONE" feature of the dialer can't
really be disabled, but a work around has been developed that will
"fool" the dialer.
Next, delete the string in {MODEM}{NO DIALTONE}{L}. Now, change
{MODEM}{NO CARRIER}{A} to "NO DIALTONE". Lastly, set {MODEM}{IGNORE
NO CARRIER}{R} option.
What this accomplishes is that the dialer will treat the "NO DIALTONE"
response as if the modem was a dumb Hayes that was using blind
dialing. Although an intelligent modem that has a call progression
feature can still return a "NO CARRIER" response if the modem times
out without the remote system picking up or if it fails to detect a
"BUSY" signal, {MODEM}{IGNORE NO CARRIER}{I} will prevent the dialer
from removing the phone entry from the selected list.
TERMINUS HAS TROUBLE KEEPING UP WITH 16 COLOR ANSI.
---------------------------------------------------
If you're using an Amiga that only has "pseudo-fast" ram instead of
"true" fast ram, the cpu is going to be locked-out during display and
scroll functions. An 8 color screen should help eliminate the slow
operation that occurs on systems with no true fast ram.
True fast ram is different than ram expansion that resides at the
hexadecimal $C00000 address, such as the 512k A501 expansion for the
A500.
- 213 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
35 SUPPORT INFORMATION
----------------------
Support for Terminus is available through several networks. The most
reliable is to call the Dynalogic support BBS directly. You will also
receive a response here faster than through any of the other networks
as I use it the most.
35.1 DYNALOGIC PRODUCT SUPPORT BBS
----------------------------------
The support BBS is attached to the FidoNet BBS network and receives
the international Amiga echomail conference, twenty-four hour
crashmail is supported via the MS-DOS version of Binkley.
A private support conference is provided for registered users,
although the system is open to anyone who calls. The most recent
evaluation version of Terminus will be available for download and for
FidoNet file requesting via the "magic" name "TERMINUS".
Dynalogic Product Support BBS - Fidonet: 1:266/61
(609) 398-7453 (24hrs/7days)
3/12/24/96/14.4/16.8kbps HST/V.32bis
35.2 GENIE
----------
If you need to contact me via email, my ID is JRADIGAN.
35.3 COMPUSERVE
---------------
I try to access the AmigaUser conference two or three times a week to
keep up on the Telecom area (5). My ID for Easyplex email is
76545,201.
35.4 BIX
--------
Same goes for BIX; my ID is also JRADIGAN here for email. I also
monitor the amiga.user/telecomm conference on BIX.
- 214 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
35.5 USENET/INTERNET
--------------------
I currently maintain an account at jprad@faatcrl.gov for netmail and I
also frequent the comp.sys.amiga.datacomm newsgroup.
For those without smart mailer access, my bang path is:
...!rutgers!faatcrl!jprad
I am unable to handle requests for uuencoded transfers via email,
please do not ask for them.
35.6 US MAIL
------------
Dynalogic's current mailing address is:
Dynalogic
P.O. Box 444
Ocean City, NJ 08226
Please understand that I am unable to personally reply to every letter
I receive. While the cost of postage is minimal, the time required to
process written requests for support is not. If your request is a
basic support problem that can be easily be found in the user manual
or is common knowledge to experienced telecommunicators I will have no
choice but to ignore your letter.
If you cannot contact me via electronic means please try to seek local
help via the user manual, a users group or from a BBS, most have
plenty of users who are more than willing to lend help to a struggling
novice.
35.7 IF YOU HAVE PROBLEMS
-------------------------
The need for a complete and detailed description cannot be emphasized
enough, statements like "The dialer doesn't work" or "It won't
upload/download" do neither of us any good. Also, don't give up
immediately. If something seems wrong ask the sysop of the system
you're connected to first. Since their system is more than likely to
be less expensive to call than the support BBS (and probably less busy
too), it makes sense to see if they can help you out first.
If you do post a problem report, please be sure to include the name
and number of the system you had a problem with, how you created the
problem (so that I can recreate it) and anything else that is related
to the problem. A short description of your system may also be
helpful. Hard disk users should include the type of controller and
how many partitions you're using.
- 215 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993Terminus 2.0 Users Manual Electronic Edition
Try to use the DEBUG command line option (and icon tooltype) if you're
experiencing a guru. With this option in effect you may be able to
have Terminus "catch" the error, so long as the entire system is not
scrambled beyond hope.
Also, while DEBUG is active, there is an additional menu item,
[PROJECT][WRITE DEBUG] which will output the current internal state of
Terminus to a file. You must have a disk inserted in DF0: for this to
work.
Providing as much information as you can gather the first time will
usually result in a faster resolution of the problem and will
eliminate your having to call several times only to find me asking for
more information.
In any event, good luck and happy modeming!
Jack Radigan
- 216 -
Copyright (C) 1988-92 John P. Radigan Printed July 4, 1993